改成这样试一下 ALTER TRIGGER [dbo].[TRG_Insert_KQ_1]
on [dbo].[AtdRecord]
FOR insert,update
as
SET NOCOUNT ON;
DECLARE @EmplID char(16),@RecDate char(10),@RecTime char(5)
BEGIN
SELECT @EmplID=EmplID,@RecDate=RecDate,@RecTime=RecTime FROM inserted
UPDATE [咯咯咯].[dbo].[KQ_Ytj_1]
SET PM8= 咯咯咯.dbo.KQ_pM(CONVERT (varchar(7),@RecDate,120)+'-'+'08',@EmplID)
WHERE EmplID=@EmplID
END
解决方案 »
- 对高手就不难,对我就难了。
- select 语句查出多行语句多个字段。到一张临时表
- 急!!!!!!在线等!查询出每个商品的最后一天记录!
- SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'employeeData'什么意思?
- 如何可以通过存储过程。。。。。
- 请继续指点,谢谢
- 请问怎么取得字段的“识别字”属性值?有什么语句或外部命令可以导出表结构?
- 十万火急!!数据库被标志为:emergency mode !!!!!!!
- 這條SQL語句怎麼寫?
- 多线程插入sql server数据库导致超时过期
- 如果一个存储过程想返回很多值,怎么办?
- 送分行动-------看内容
on [dbo].[AtdRecord]
FOR insert,update
as
SET NOCOUNT ON;
DECLARE @EmplID char(16),@RecDate char(10),@RecTime char(5)
BEGIN
SELECT @EmplID=EmplID,@RecDate=RecDate,@RecTime=RecTime FROM inserted
UPDATE [咯咯咯].[dbo].[KQ_Ytj_1]
SET PM8= 咯咯咯.dbo.KQ_pM(CONVERT (varchar(7),@RecDate,120)+'-'+'08',@EmplID)
WHERE EmplID=@EmplID
END
create TRIGGER dbo.[tr_student_insert]
ON dbo.student
for INSERT,UPDATE
AS
BEGIN
select * from insertedupdate student_bak
set
name=b.name,
class=b.class
from student_bak a inner join inserted b on a.no=b.noinsert into student_bak(no,name,class)
select no,name,class from insertedEND
GO
前提是你的empid是外部录入的,而不是入表时自动生成,同时,如果empid不能确定唯一数据,update的时候会刷掉多条数据
SQL SERVER不像ORACLE、MYSQL,触发器有For Each Row,SQL SERVER是以SETS记录的