insert into应该是可以写在存储过程里面的.只是不知道在linkerserver方法里是否支持: insert into a select * from b的语法可以试试用游标一条条的插入。
我直接用SQL语句执行是可以的 但放到存储过程中执行就出现: “服务器: 消息 7405,级别 16,状态 1,行 1 异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这些选项,然后重新发出查询。” 注: 我在“INSERT INTO LINKEDSERVER.DATABASE.dbo.Table SELECT * FROM Table”之前 已写上: “SET ANSI_NULLS ON SET ANSI_WARNINGS ON SET XACT_ABORT ON ”
insert into a select * from b的语法可以试试用游标一条条的插入。
但放到存储过程中执行就出现:
“服务器: 消息 7405,级别 16,状态 1,行 1
异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这些选项,然后重新发出查询。”
注:
我在“INSERT INTO LINKEDSERVER.DATABASE.dbo.Table SELECT * FROM Table”之前
已写上:
“SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
SET XACT_ABORT ON
”
sp_dboption dbname,'ANSI warnings',true;
还有在sqlserver的属性tab页面中有一项remote server connections:
是否将其中的rpc也选中了呢?