CREATE PROCEDURE [dbo].[njyb_sjcl2]
@tablename varchar(100) AS exec('insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename +' where fmsgtype=60 ')
exec(' insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62 ')
@tablename varchar(100) AS exec('insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename +' where fmsgtype=60 ')
exec(' insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62 ')
@tablename varchar(100) AS exec('insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename +' where fmsgtype=60'
exec('insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62'
GO
exec(...)
@tablename varchar(100) AS exec('insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename +' where fmsgtype=60'
exec('insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62'
GO
@tablename varchar(100)
AS
Set NoCount On
exec('insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename +' where fmsgtype=60'
exec('insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62'
Set NoCount Off
GO
tablename:='Msgtable'+inttostr(i);
sqlstr:='exec njyb_sjcl2 '''+tablename+'''';
with cnngp do
begin
close;
sql.Clear;
sql.Add(sqlstr);
execsql;
end;
njyb_sjcl2存储过程如下:
CREATE PROCEDURE [dbo].[njyb_sjcl2]
@tablename varchar(100)
AS
set nocount on exec(' insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=60') --下行信息记入njrb_sjsj1 exec(' insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62') --上行信息记入njrb_sjsj2
GO出现错误提示:“异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项.这将确保一致的查询语义,请启用这些选项,然后重新发出查询”
@tablename varchar(100) AS exec('insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename +' where fmsgtype=60 ')
exec(' insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62 ')
@tablename varchar(100) AS exec('insert into njrb_sjsj1(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename +' where fmsgtype=60'
exec('insert into njrb_sjsj2(Fstatus,FServiceID) select Fstatus,FServiceID from '+@tablename+' where fmsgtype=62'
GO