存储过程问题表名是参数 create proc pr_a@sid varchar(50)asselect a,bfrom tawhere a not in(select a from @tab)其中 @tab 这个表名是参数 我要怎么写谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 create proc pr_a@sid varchar(50)asexec('select a,bfrom tawhere a not in(select a from' +@tab+')') create proc pr_a@tab varchar(50)asexec('select a,bfrom tawhere a not in(select a from '+@tab+')') --用EXEC执行exec('select a,b from ta where a not in(select a from' +@tab+')') @tab这个是表名,也是参数,我是没有写进去。 create proc pr_a@tab varchar(50)asexec('select a,b from ta where a not in (select a from '+@tab+')') create proc pr_a@sid varchar(50)@tab 这边要定义成什么asselect a,bfrom tawhere a not in(select a from @tab) 对不起楼上的,我写的有问题,我的意思是create proc pr_a@sid varchar(50)@tab 这边要定义成什么asselect a,bfrom tawhere a not in(select a from @tab)and b=@sid 两个问题需要楼主确认:1.@sid没看到有在过中程用.故我在3楼已将其去除.请问@sid要放在哪里?2.3楼的代码在调用时可以直接调用动态表名,不知楼主试了没有? 把参数@tab 定义为varchar(100)还有一个参数 还不知道 你干吗呵呵 我想这样的 @sid是一个参数,表名是一个参数 我每次执行是 只要这样就可以了exec pr_a '2008-01','tab1'exec pr_a '2008-02','tab2' create proc pr_a@sid varchar(50)@tab varcahr(100)asexec('select a,bfrom tawhere a not in(select a from '+@tab+')and b='+@sid+'')这样就行了 create proc pr_a@sid varchar(50)@tab varcahr(100)asexec('select a,b from ta where a not in (select a from'+@tab+' ) and b='''+@sid+'''')就这样 create proc pr_a@sid varchar(50),@tab varcahr(100)asexec('select a,bfrom tawhere a not in(select a from '+@tab+')and b='+@sid+'') 今天算是遇到诡异的事了,两句完全相同的SQL竟然执行结果不同! SQL 2005 连接问题 這個問題大家幫助我 如此简单SQL我居然不会了 如何解决在union 中使用order by 时出错的问题 请教大家一个问题!在线等,谢谢!!! 【80分】请教各位关于SQL SERVER数据库的性能改良方向和方法 里有关于SQL—SERVER的实例的电子书下载呀?哪SOS! 给100分提问数据恢复问题 这种转置怎么写。 查询 紧急求救!数据库被注入并替换了数据,如何恢复?
create proc pr_a
@sid varchar(50)
as
exec('select a,b
from ta
where a not in
(select a from' +@tab+
')')
@tab varchar(50)
as
exec('
select a,b
from ta
where a not in
(select a from '+@tab+')'
)
exec('select a,b from ta where a not in(select a from' +@tab+')')
@tab varchar(50)
as
exec('select a,b from ta where a not in (select a from '+@tab+')')
create proc pr_a
@sid varchar(50)
@tab 这边要定义成什么
as
select a,b
from ta
where a not in
(select a from @tab
)
@sid varchar(50)
@tab 这边要定义成什么
as
select a,b
from ta
where a not in
(select a from @tab
)
and b=@sid
1.@sid没看到有在过中程用.故我在3楼已将其去除.请问@sid要放在哪里?
2.3楼的代码在调用时可以直接调用动态表名,不知楼主试了没有?
还有一个参数 还不知道 你干吗呵呵
我想这样的
@sid是一个参数,表名是一个参数 我每次执行是
只要这样就可以了
exec pr_a '2008-01','tab1'
exec pr_a '2008-02','tab2'
@sid varchar(50)
@tab varcahr(100)
as
exec('
select a,b
from ta
where a not in
(select a from '+@tab+'
)
and b='+@sid+'')
这样就行了
@sid varchar(50)
@tab varcahr(100)
as
exec('select a,b from ta where a not in (select a from'+@tab+' ) and b='''+@sid+'''')
就这样
@sid varchar(50),
@tab varcahr(100)
as
exec('
select a,b
from ta
where a not in
(select a from '+@tab+'
)
and b='+@sid+'')