exec '' -- error exec ('...') -- okexec ('delete from pageatgroups where groupid =1 and pageid in(3) and pageid <>1')
--1,2楼:exec @sql -- error exec (@sql) -- ok
alter PROC PROC_Mars_DelGroupPages @gid bigint , @pids varchar(500) AS Begin delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in (@pids) and a.pageid<>1 EndPageAtGroups 1,'ZNPMRP' 现在是这个问题服务器: 消息 2809,级别 18,状态 1,行 1 过程 'PageAtGroups' 的请求失败,因为 'PageAtGroups' 是 表 对象。什么原因?
alter PROC PROC_Mars_DelGroupPages @gid bigint , @pids varchar(500) AS Begin delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in (@pids) and a.pageid<>1 End PageAtGroups 1,'ZNPMRP'服务器: 消息 2809,级别 18,状态 1,行 1 过程 'PageAtGroups' 的请求失败,因为 'PageAtGroups' 是 表 对象。我下面这样写就没错,为什么 declare @gid bigint declare @pids varchar(500) set @gid =2 set @pids='ZNPMRP'delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in (@pids) and a.pageid<>1
alter PROC PROC_Mars_DelGroupPages @gid bigint , @pids varchar(500) AS Begin exec ('delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in ('''+@pids+''') and a.pageid <>1') End goPageAtGroups 1,'ZNPMRP'
set @sql='delete from pageatgroups where groupid =1 and pageid in(3) and pageid <>1'
exec @sql
exec '' -- error
exec ('...') -- okexec ('delete from pageatgroups where groupid =1 and pageid in(3) and pageid <>1')
exec (@sql) -- ok
@gid bigint ,
@pids varchar(500)
AS
Begin
delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in (@pids) and a.pageid<>1
EndPageAtGroups 1,'ZNPMRP'
现在是这个问题服务器: 消息 2809,级别 18,状态 1,行 1
过程 'PageAtGroups' 的请求失败,因为 'PageAtGroups' 是 表 对象。什么原因?
alter PROC PROC_Mars_DelGroupPages
@gid bigint ,
@pids varchar(500)
AS
Begin
delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in (@pids) and a.pageid<>1
End
PageAtGroups 1,'ZNPMRP'服务器: 消息 2809,级别 18,状态 1,行 1
过程 'PageAtGroups' 的请求失败,因为 'PageAtGroups' 是 表 对象。我下面这样写就没错,为什么
declare @gid bigint
declare @pids varchar(500)
set @gid =2
set @pids='ZNPMRP'delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in (@pids) and a.pageid<>1
@gid bigint ,
@pids varchar(500)
AS
Begin
exec ('delete PageAtGroups from PageAtGroups as a , Pages as b where a.pageid = b.id and groupid =@gid and b.pagename in ('''+@pids+''') and a.pageid <>1')
End
goPageAtGroups 1,'ZNPMRP'