储存过程问题,帮帮忙!!

KingsonWong 2004-10-12 07:43:46
我想写一个储存过程,该存储过程有个参数:@sql varchar(1000),此参数是一条SQL语句字符串,从外面传进来的(它随要求不同而会改变的哦,但始终是一条SQL语句来的。),现在我想在该存储过程里执行该这条SQL语句,我该怎么写呢?

明白了没有?简单的说就是要在一个存储过程里执行一条放在一个字符串参数里的SQL语句。

如果存储过程不能解决问题,其它的方安也可以告诉我的!
...全文
111 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxslyf 2004-10-13
  • 打赏
  • 举报
回复
---------刚才有个参数写错了!重写!

create proc pro_text @sql varchar(100)
as begin
declare @sqlStr varchar(8000)
set @sqlStr='select * from '
set @sqlStr'declare cur_ABC scroll cursor for select ……… from '+ +@sql+'where ………………' ----注:定义游标并将参数传进去
exec(@sqlStr)
open cur_ABC
fetch first from cur_ABC into …………
while (@@fetch_status <> -1)

fetch next from cur_ABC into………………
.
.
.
.






end
--执行以下这句:
pro_text 'table1'
sxslyf 2004-10-13
  • 打赏
  • 举报
回复
create proc pro_text @sql varchar(100)
as begin
declare @sqlStr varchar(8000)
set @sqlStr='select * from '
set @sqlStr'declare cur_ABC scroll cursor for select ……… from '+ +@sql+'where ………………' ----注:定义游标并将参数传进去
exec(@sqlStr)
open cur_ABC
fetch first from cur_ABC into …………
while (@@fetch_status <> -1)

fetch next from cur_updatebasicdata into………………
.
.
.
.






end
--执行以下这句:
pro_text 'table1'
KingsonWong 2004-10-13
  • 打赏
  • 举报
回复
帮忙顶一顶啦!!我赶着用啊~~~~
laker_tmj 2004-10-13
  • 打赏
  • 举报
回复
up learn
KingsonWong 2004-10-13
  • 打赏
  • 举报
回复
谢谢各位了,我知道的了!
不过现在有个问题,就是我想在存储过程里执行完我传进去的SQL语句里定义个游标,语法通不过啊!
有什么办法可以解决没有?先谢了!
KingsonWong 2004-10-13
  • 打赏
  • 举报
回复
真的感谢各位的帮助啊,我是读计算机专业的,有兴趣的朋友可以加我的QQ的:153855732~~~
funsuzhou 2004-10-12
  • 打赏
  • 举报
回复
--你可以把固定的语句段写在过程里,举个简单的例子:
create proc pro_text @sql varchar(100)
as begin
declare @sqlStr varchar(8000)
set @sqlStr='select * from '
set @sqlStr=@sqlStr+@sql
exec(@sqlStr)
end
--执行以下这句:
pro_text 'table1'
即可查询表table1里的所有记录

这样可以在一定程度上避免中海说的那种情况
victorycyz 2004-10-12
  • 打赏
  • 举报
回复
用一楼的方法即可。

不可,这样的处理,如果没有适当的限制,对你的数据库不太安全哦。试想,用户可能会输入一条SQL语句:"drop table tablename"
KingsonWong 2004-10-12
  • 打赏
  • 举报
回复
谢谢,我先去试试,等我成功后再回来结贴!
mgsray 2004-10-12
  • 打赏
  • 举报
回复
create proc pro_text @sql varchar(100)
as begin
...
exec(@sql)
end

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧