来吧。都给你!

MQQ 2003-03-26 05:57:16
哥哥,姐姐:
小弟有一事相求!
我现在想做一个用SQL Server做的存储过程,由于建立的表太多,要做一个公共的增,删,改存储过程,以便其他表调用,由于技术含量太高,只知道一些基本的理论,听高手说要用到数组,但是小弟从未用过。敢问那位能帮小弟度过难关,随即奉上100分。
...全文
10 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liuyunfeidu 2003-03-31
如果你要在数据库中解决你要解决的问题,要使用很多东西,而且速度奇慢。你最好还是使用程序调用吧。
回复
MQQ 2003-03-31
gaobochina(皮皮)
谢了
我回去试试。
回复
gaobochina 2003-03-30
declare @des_str varchar(4000)
declare @str_maxlen int
set @des_str='aa,bb,cc,dd,ee,' --字符串
set @str_maxlen=5 --字符串中","的个数


declare @step int
declare @num1 int
declare @str1 varchar(20)
declare @num2 int
set @step=0
set @num1=0
set @num2=0

while @step<@str_maxlen
begin
set @num1=charindex(',',@des_str,@num2)
set @str1=substring(@des_str,@num2,@num1-@num2)
set @num2=@num1+1
set @step=@step+1

select @str1 --依次取出
end
回复
MQQ 2003-03-27
newdongkui(老乌鸦)多谢指点,不过可不可一讲的再明白一些,我没用过 XML望这位大哥指点小弟一二。

gaobochina(皮皮) 这位人兄,请问字符串分割是如何实现的。望指点小弟一下。


在这里先谢谢上面两位了。
回复
gaobochina 2003-03-26
把表中的数据以一个字符串形式输入到存储过程中,进行字符串分割,然后实现增删改功能。
回复
CABO 2003-03-26
这种功能用 程序很好解决,如VB/DELPHI等
但直接用数据库语言,恐怕很麻烦
回复
newdongkui 2003-03-26
你说的数组,我不晓得
这样做并不好,需要附加条件和限制,比如SQL语句不能大于8000。对表的规范要求也高
建议方法:
参数应该用XML形式(包括表名、更新方式、字段名及内容)
读XML
有效性判断
写动态SQL语句(注意加事务控制语句)
执行

回复
MQQ 2003-03-26
我还是有点不太理解,大哥只解决了表的动态变化,但是表里的字段和记录的增,删,改还没有解决! 麻烦大哥在想想!
回复
pengdali 2003-03-26
create proc 名
@表名 varchar(100)
as
exec('select * from '+@表名)
go



--???
回复
pengdali 2003-03-26
数组???

SQL没有数组!
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2003-03-26 05:57
社区公告
暂无公告