引自皱老大的--触发器如何调用存储过程
create trigger test on tb
for insert
as
exec 存储过程名
go--存储过程如何调用触发器
create proc test
as
update tb set ...
insert tb select ...
delete tb ...
create trigger test on tb
for insert
as
exec 存储过程名
go--存储过程如何调用触发器
create proc test
as
update tb set ...
insert tb select ...
delete tb ...
解决方案 »
- 视图问题
- 有点难度的数据查询判断的问题!
- 10000个节点的统计 做到6000多的时候说default空间没有了
- [疑难问题]无法从链接服务器 "TEST" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 获取行的数据。
- 查询某日期段明细报表,求“单据日期”字段三个前的最后一笔单价为原单价是多少?
- 问一下updlock的问题
- 我想知道自增量做主键和标识的好处和坏处!特别是在关系表中!谢谢!
- sqlserver2005 通过外网连接速度很慢,2000就很快,怎么解决这个问题?
- 哥们,救命啊!触发器的问题!
- 一个Access日期时间的问题?
- 一个简单的SQL
- 高分求解。(在線等,解決立馬給分)
在触发器中exec linkedserver.dbname...
trig 要重新创建
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON CREATE TRIGGER [TRIGGER NAME] ON [dbo].[table]
FOR INSERT, UPDATE, DELETE
AS
SET XACT_ABORT ON
exec (linkdb2..存储过程)
SET XACT_ABORT OFF
GO
SET ANSI_NULLS OFF
SET ANSI_WARNINGS OFF
--访问DB2--创建链接服务器
EXEC sp_addlinkedserver @SERVER='srv_lnk', --链接服务器名
@srvproduct = '',
@provider = 'MSDASQL',
@provstr = 'Initial Catalog=PUBS;Data Source=DB2;HostCCSID=1252;Network Address=XYZ;Network Port=50000;Package Collection=admin;Default Schema=admin;'--这个允许调用链接服务器上的存储过程
exec sp_serveroption 'srv_lnk','rpc out','true' --添加登陆用户
exec sp_addlinkedsrvlogin @rmtsrvname = 'srv_lnk', @useself = 'false', @locallogin = 'sa', @rmtuser = 'DB2User', @rmtpassword = 'DB2Password'
--进行查询(如果是调用存储过程,则将查询语句改为调用存储过程的语句)
select * from OPENQUERY (srv_lnk,'SELECT * FROM DBName2.Table1Name')