--trycreate trigger tr on B
for insert
as
update A set point=point+B.tpoint
from inserted B
where A.name=B.name
for insert
as
update A set point=point+B.tpoint
from inserted B
where A.name=B.name
解决方案 »
- 请问sql server 如何查其它服务器的内容到本地
- 触发器中的 instead of 哪里出了问题?
- 求一个函数,可以将ntext类型的逗号分隔字符生成表
- 100分--组合查询问题--在线等!!!!!
- 搞个调查,大家写脚本时在等号前后加空格吗?
- 有在PHP里用sqlsrv_query的吗?返回的记录集数量大于1条就获取不到OUTPUT参数值
- 【【【【【【 简单的存储过程 请教高手~~~~】】】】】】
- 输入字符串的格式不正确
- 没学过数据库可不可以学习SQL,介绍几本最基本的书好不好?
- 如何用PB实现image类型字段的存取
- 为什么我用的sql总是每天都要断开连接?
- 不能用存储过程建立数据吗?
-- 现在想在B表插入一条记录的时候让A表中name等于B表name的point加上tpoint的值.
CREATE TABLE A(ID INT,NAME NCHAR(10),POINT INT)CREATE TABLE B(ID INT, NAME NCHAR(10),TPOINT INT)
GOCREATE TRIGGER TI_TEST ON B FOR INSERT
AS
BEGIN
INSERT A(ID,NAME,POINT) SELECT ID,NAME,TPOINT FROM INSERTED
END
GO
CREATE TRIGGER TU_TEST ON B FOR UPDATE
AS
BEGIN
UPDATE A SET POINT=POINT-D.TPOINT+I.TPOINT FROM A,INSERTED I,DELETED D WHERE A.ID=I.ID AND A.ID=D.ID
END
GO
CREATE TRIGGER TD_TEST ON B FOR DELETE
AS
BEGIN
UPDATE A SET POINT=POINT-D.TPOINT FROM A,DELETED D WHERE A.ID=D.ID
END
GOINSERT B(ID,NAME,TPOINT) SELECT 9,'YIZHI',99
SELECT * FROM A
SELECT * FROM BUPDATE B SET TPOINT=88 WHERE ID=9
SELECT * FROM A
SELECT * FROM BDELETE FROM B WHERE ID=9
SELECT * FROM A
SELECT * FROM BDROP TRIGGER TI_TEST
DROP TRIGGER TD_TEST
DROP TABLE A,B
--INSERT A(ID,NAME,POINT) SELECT 9,'YIZHI',100CREATE TABLE B(ID INT, NAME NCHAR(10),TPOINT INT)
GOCREATE TRIGGER TI_TEST ON B FOR INSERT
AS
BEGIN
IF NOT EXISTS(SELECT 1 FROM A,INSERTED I WHERE A.ID=I.ID)
INSERT A(ID,NAME,POINT) SELECT ID,NAME,TPOINT FROM INSERTED
ELSE
UPDATE A SET POINT=POINT+I.TPOINT FROM A,INSERTED I WHERE A.ID=I.ID
END
GO
CREATE TRIGGER TU_TEST ON B FOR UPDATE
AS
BEGIN
UPDATE A SET POINT=POINT-D.TPOINT+I.TPOINT FROM A,INSERTED I,DELETED D WHERE A.ID=I.ID AND A.ID=D.ID
END
GO
CREATE TRIGGER TD_TEST ON B FOR DELETE
AS
BEGIN
UPDATE A SET POINT=POINT-D.TPOINT FROM A,DELETED D WHERE A.ID=D.ID
END
GOINSERT B(ID,NAME,TPOINT) SELECT 9,'YIZHI',99
SELECT * FROM A
SELECT * FROM BUPDATE B SET TPOINT=88 WHERE ID=9
SELECT * FROM A
SELECT * FROM BDELETE FROM B WHERE ID=9
SELECT * FROM A
SELECT * FROM BDROP TRIGGER TI_TEST
DROP TRIGGER TD_TEST
DROP TABLE A,B
sql1="insert into b (name,sbu tpoint)values('"+tname+"','"+tsub+"',"+ppoint+")";
sql2="update a set point=point+"+ppoint+" where name='"+tname+"'";有错误吗.老是说某个参数未指定