有两个表A,B,如何用SQL语句,更新A表中的一个记录的字段,并将更新后的这条记录插入到B表
编辑删除回复有两个表A,B,如何用SQL语句,更新A表中的一个记录的字段,并将更新后的这条记录插入到B表欣梦27分钟前我是这么写的,编译后有错误,Stringsql="u...
编辑 删除 回复 有两个表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的字段不太一样,怎么办哈?各位,帮帮忙的说~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 展开
" insert into B(ID,LNAME,ROLE,GROUP_ID,STATE) select ID, NAME,ROLE,GROUP_ID,STATE from A; 插入操作是不是原表的记录删除了呢,还有A和B的字段不太一样,怎么办哈?各位,帮帮忙的说~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 展开
3个回答
2013-08-05
展开全部
--随便搞搞,不想多写。环境为sql server 2000CREATE 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;
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;
2013-08-05
展开全部
建议不要用触发器 在服务器接近满载的时候!触发比较频繁的时候 比较容易出现问题!建议用事务去处理!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-05
展开全部
写个事务或者写一个触发器 在添加A表时候 同时向B表插入一条新语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询