编辑 删除 回复 有两个表A,B,如何用SQL语句,更新A表中的一个记录的字段,并将更新后的这条记录插入到B表欣梦 27分钟前 我是这么写的,编译后有错误, String sql="update A set STATE=1 where ID=? "+
" insert into B(ID,LNAME,ROLE,GROUP_ID,STATE) select ID, NAME,ROLE,GROUP_ID,STATE from A; 插入操作是不是原表的记录删除了呢,还有A和B的字段不太一样,怎么办哈?
各位,帮帮忙的说~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--随便搞搞,不想多写。环境为sql server 2000
CREATE DATABASE TEST;
CREATE TABLE A(
ID INT,
LNAME VARCHAr(20),
ROLE VARCHAr(20),
GROUP_ID INT ,
STATE VARCHAr(20)
);
--复制A表结构到B
SELECt * INTO B FROM A WHERe 0=1;
CREATE TRIGGER COPY
ON A --在A表中创建触发器
FOR UPDATe --为更新事件触发
AS --事件触发后所要做的事情
IF UPDATE(STATE)
BEGIN
SET INSERT INTO B (ID,LNAME,ROLE,GROUP_ID,STATE)
SELECT I.ID,I.LNAME,I.ROLE,I.GROUP_ID,I.STATE
FROM INSERTED I --INSERTED临时表
END;
--以下为测试数据
INSERT INTO A VALUES(3,'ZHU','ADMIN',1,'TERMINATAL');
UPDATe A SET STATE = 'REUSE' WHERe A.ID = 3;
SELECT * FROM B;
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息