问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

触发器问题 当表a中插入一条数据时。把插入的数据存入b表中 怎么写呀????求帮助

发布网友 发布时间:2022-04-09 21:33

我来回答

4个回答

懂视网 时间:2022-04-10 01:54

因为需要获取 pers 表中插入记录的 ID(本表中字段名为 pid),一开始想着用 LAST_INSERT_ID(),行不通。后来想到 MAX(),倒是能获得最新插入的 pid 值,但 perscn 中的其它值却不能用 SELECT sname FROM pers WHERE pid = MAX(pid); 来获取,看来在 WHERE 语句中是不能用 MAX() 函数吧…… 最后只能用笨办法,先对 pid 进行降序排列,然后用 LIMIT 限制 1 条记录,这样倒是也能获得与 MAX() 函数相同的效果。没办法,就是这么笨……

回到最上面的语法,大致意思是:

1 CREATE TRIGGER 触发器名称
2 在 INSERT、UPDATE或DELETE动作之前或之后
3 ON 上述动作所作用的表
4 FOR EACH ROW(规定语句,照抄吧)
5 以上动作所触发的SQL语句(即正常SQL操作语句)

其中,第5步的 trigger_body 一般只能写一行。如果有多条操作语句,则需要先用 DELIMITER 暂时更改下语句结束符,然后用 BEGIN...END... 语句来写操作语句(因为BEGIN...END...里必须用半角分号 “;” 来标识一行语句的结束,所以才需要用 DELIMITER)。关于更改 DELIMITER,请见官方文档的示例:

1 mysql> delimiter //
2 mysql> CREATE PROCEDURE dorepeat(p1 INT)
3 -> BEGIN
4 -> SET @x = 0;
5 -> REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT;
6 -> END
7 -> //
8 Query OK, 0 rows affected (0.00 sec)
9 mysql> delimiter ;

触发器真是个好东西,自动化的神器啊…… 改天好好再研究研究、发掘发掘~~~

MySQL触发器初试:当A表插入新记录,自动在B表中插入相同ID的记录

标签:logs   自动   相同   开始   示例   insert   into   sql语句   不能   

热心网友 时间:2022-04-09 23:02

交给我吧,这是个最基础的触发器,假设A表的2个字段为ID,name,B表与A表字段相同
create or replace trigger AB_DML_TGR
after insert
on A
for each row
begin
if inserting then
insert into B
values
(:new.ID,
:new.name);
DBMS_OUTPUT.PUT_LINE('新数据已保存到B中');
end if;
end;追问create trigger MyDocFileTrg
on WCMAPPENDIX
for insert,update
as
declare @FILENAME nvarchar(255),
@CRUSER nvarchar(50)

begin
select @FILENAME=APPFILE,@CRUSER=CRUSER from inserted
INSERT INTO XWCMMyDocFileTrg (APPFILE,CRUSER) VALUES (@FILENAME,@CRUSER)
end
我也搞定了

热心网友 时间:2022-04-10 00:20

帮忙看一下这个触发器,要求:当cl_bm中添加一条记录,同时在zd_yz语句中写一条记录,下面触发器没生效
CREATE TRIGGER TR_CLBM_CR
ON CL_BM
FOR INSERT
AS
INSERT
ZD_YZ(LX, BM, DH, MC, DJ, JL, YLDW, JLDW, GG, FYLB, CLLB, STATE, ZXBZ, GBBM, PRINTMC)
SELECT top 1
1, BM, DH, MC, DJ, 1, DW, DW, GG, FYLB = 71, CLLB=0, STATE = 0, ZXBZ = 0 , GBBM, PRINTMC=MC
FROM CL_BM where lb like '2%' and bm not in (select bm from inserted)

热心网友 时间:2022-04-10 01:55

ORACLE正解
...一条数据时。把插入的数据存入b表中 怎么写呀???求帮助

交给我吧,这是个最基础的触发器,假设A表的2个字段为ID,name,B表与A表字段相同 create or replace trigger AB_DML_TGR after insert on A for each row begin if inserting then insert into B values (:new.ID,:new.name);DBMS_OUTPUT.PUT_LINE('新数据已保存到B中');end if;end;...

【sqlserver触发器】在向表A新增一条数据的时候,把这条数据的字段...

这个的话,你这个表里必须要有个主键,否则容易更改了其他数据 给你做个测试,表名叫test 创建 create table test(id int primary key,a int,b int,c int)创建触发器 Create Trigger t_test On test for insertAs declare @id int,@a int,@b intbeginselect @id=id,@a=a,@b=b...

mysql如何通过触发器将一个表的数据新增一条记录后与另一个表匹配运算...

在表A中插入数据的时候在表B中同时插入:判断如果存在ID相同的则对它进行更新,ID不存在则进行插入假如两个表名字为A和B,在插入表A数据的同时对表B进行操作createtriggernode_insertafterinsertonAforeachrowbeginupdateBsetB.ID=NE

SQL中,如何在表A中插入或者更新一条数据的同时能将该数据更新到表B中去...

UPDATE B SET 选修人数 = @xxrs WHERE 科目类型 = @kmlx ELSE INSERT B (科目类型, 选修人数) SELECT @kmlx, @xxrs IF @@ERROR <> 0 GOTO error RETURN error:raiserror('写B表失败', 16, 1)end GO

oracle,插入条数据到表a的同时,怎么取到这条记录的主键值,并且保存到...

insert into 表名B(主键字段) value (select 主键字段 from 表名A where 插入数据的特征字段=XXX) 如果需要同步执行,建议你写存储过程或者触发器 当A表有更新就触发或者调用存储过程 执行2段SQL

插入数据库表中一条记录同时也插入另一个表中的SQL语句怎么写

如果需要一起写入就在程序中直接分别写插入A和插入B表的数据,如果想让数据库自动在插入A表时触发执行插入B表数据,那就要在数据库中定义“触发器”来实现了。

sql用触发器在插入一段数据后提取其中某个字段数据作为另一表相同字段...

create trigger in_sert on 用户表 after insert as begin insert into 教师表(id,注册类型)--这里添加到表的内容自己写 select id,注册类型 from 用户表 where 注册类型=(select 注册类型 from inserted )--这里的字段是你插入用户表的数据 insert into 学生表(id,注册类型)select id,注册类型 ...

SQL2000数据库中,有A和B这2张表,当向A表中插入记录的时候,把满足某些条 ...

create trigger dbo.TriAnyCase on A for insert as if exists (select 'true'from inserted as i where (你的条件,如i.Name <> 'MyName'))insert into B values(i.col1,i.col3,i.col5,i.col7,i.col9)

sql做一个触发器,一个表中添加了一条信息,另一个表中的某个列值就加一...

insert --哪个动作触发as declare @a varchar(100) --定义一个参数 select @a=id from inserted --取插入数据中的id update tableb set n=n+1 where -- 更新另一个表中相同ID的nGOcreate trigger insert_table --创建触发器,触发器名称 insert_table on tablea...

sql server如何创建触发器,使在a表中插入数据时在b表中追加相同的记录...

create trigger insert_for_b on a after insert as begin insert into b(插入a表字段)select 插入a表字段 from inserted --插入a表字段表示a表的所有字段,如果这里需要b表其他字段,要加固定的值 end go

数据库中的触发器 数据库触发器无法更新数据 触发器怎么用 怎么创建触发器 触发器怎么查看 触发器实现数据更新 数据库触发器工作原理 数据库触发器类型 数据库触发器实例
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
成瘾性是指是什么 嗜性癖嗜性癖-成因观点 什么是“性成瘾”?一位性瘾者的真实人生:真相或许和你想得不同_百度... 你们会别自己的女朋友诱惑嘛 兔子这样是不是要交配了? 用IEEE754标准32位浮点数表示,十进制数0.2356换成二进制,谢谢高手 沃tv现在看电视需要流量吗 控油补水用什么护肤品 救急救急!! 现在还能不能买到烟台到西安的火车票? 天龙八部元宝赠点是怎么回事 开网吧,消防方面都有哪些要求?消防许可证怎么办,需要什么手续? W8删除时弹出需要提供来自trustedinstaller的权限 阴阳师SSR御馔津御魂怎么搭配 御馔津御魂搭配 “需要来自Trustedinstaller的权限才能对此文件夹进行更改”, 农村自建房做民宿如何办理消防证? 阴阳师SSR式神青行灯怎么搭配 阵容组合推荐 陆游 临安春雨初期 柳永 雨霖铃 苏轼 定风波 图片 阴阳师斗技全ssr阵容怎么搭配 仿写朱自清春雨图 求下面两张图片的原图!高清最好!谢谢 下雷雨时的图片? 有种植物叫做春雨有图片吗 《春》中的春雨图中写了什么自然景物?各有什么特点? 春雨三行16年最新图片 粘瓷砖用水泥好还是瓷砖胶好?瓷砖胶好 你眼中的春雨图是什么样的?写一写吧。 春雨是什么花?网上哪里有图片? 名侦探柯南的结局是什么? 鞍山企业邮箱在什么地方注册? 春雨图 图片 朱自清 <<春>> 加拿大国宝动物是什么? 加拿大的国宝动物是什么要英语 动物的主要类群有哪些? 加拿大代表的动物英语怎么说? 扫描全能王拍照时的声音怎么关闭。 小学英语教师资格证面试怎么准备 beaver是什么动物? 小学英语教师资格证面试的技巧有哪些? 教师资格证面试主要考核什么内容? USA China Canada 这几个国家的代表性动物,它们的英语名称怎么写? Canada的国宝是什么? 动物的八大门类有哪些? 外甥的暑假作业,请教各位,美国,英国,加拿大,这三个国家的国宝(动物)分别是什么? 如何关闭 office lens 扫描时的声音 加拿大的国宝动物是什么 lisa jennie的cp名 扫描全能王 关掉相机声音 珍妮英文怎么写 是金智妮还是金珍妮? 加拿大国宝动物是什么