create trigger trig_a
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表B(字段aa,字段bb,字段cc) select 字段a,字段b,字段b+right(字段b,1) from insertedendgo
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表B(字段aa,字段bb,字段cc) select 字段a,字段b,字段b+right(字段b,1) from insertedendgo
create trigger trig_a
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表B(字段aa,字段bb,字段cc) select 字段a,字段b,字段b+right(字段b,2) from insertedendgo
你不懂就不要亂說﹐你試過了沒有﹖declare @s varchar(10)
set @s='張三'
print @s+right(@s,1)結果﹕張三三
我如果发送“徐六”,表B.字段BB的写入值也是“徐六”,而“表C.字段bbb”没有“徐六”,应该是不写入。
insert into 表B(字段aa,字段bb,字段cc) select 字段a,字段b,字段b+right(Rtrim(字段b),1) from inserted
insert into 表B(字段aa,字段bb,字段cc) select 字段a,字段b,字段b+right(Rtrim(字段b),2) from inserted吧,应该没问题的
谢谢hdhai9451(※★開拓者...前進☆※) 提醒兄弟压缩空格
我用“right(Rtrim(字段b),2)”结果还是返回的“张三”。
set @s='張三'
print @s+right(@s,1)
print @s+right(@s,2)看看結果返回什么﹖
FOR INSERT
AS
if exists (select top 1 * from inserted)
begin
insert table_b(aa,bb,cc) select a,b,rtrim(b)+right(rtrim(b),1) from inserted
end
照上面的朋友写的东西做点改进,这样写总可以吧?
想达到如下效果:
在[表A]中增加一条记录时,如果插入的记录[字段b]值为“张三”,如果在[表C.字段bbb]中能找到“张三”则插入一条新记录到表B,要求[表B.字段BB]的值要为“张三三”即[表C.字段ccc]的值,如果[表C.字段bbb]中值没有是“张三”的,就不用插入了。
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表B(字段aa,字段bb,字段cc) select 字段a,字段b,字段b+right(字段b,1) from insertedinsert into 表C(字段aaa,字段bbb,字段ccc) select 字段a,字段b,字段b+right(字段b,1) from inserted where 字段b not in(select 字段bbb from 表C)endgo
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表C(字段aaa,字段bbb,字段ccc) select 字段a,字段b,字段b+right(字段b,1) from inserted where 字段b not in(select 字段bbb from 表C)end
on 表A
for insert
as
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
SET XACT_ABORT ON
--加三句試試if exists (select top 1 * from inserted)
begin
insert into 表C(字段aaa,字段bbb,字段ccc) select 字段a,字段b,字段b+right(字段b,1) from inserted where 字段b not in(select 字段bbb from 表C)endgo
怎样运行都没有记录出入。
有沒有記錄插入﹖
有沒有記錄插入﹖
"
|
|
有值,但是值还是[表B.字段BB]的值,不是[表C.字段bbb]的值.
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表B(字段aa,字段bb,字段cc) select 字段a,c.bbb,c from inserted,c where inserted.a = c.aaa
end也没有完全了解你的意思,问题不难,理解比较费劲。
建议你写个完整点的例子,方便大家理解!
create trigger trig_a
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表b(字段aaa,字段bbb,字段ccc) select 字段a,字段b,字段b+right(字段b,1) from inserted where 字段b in(select 字段bbb from 表C)end
如果在c中能找到相同的值,就插入到表b中去.
hdhai9451:
在 A 中插入“张三”,C中对应的字段值不管有没有“张三”,都没有插入 B表中
我的意思是:
------------------------------------------------------------------------------------------
同一库中有A、B、C三个表
表A(字段b)| 表B(字段bb)| 表C(字段bbb、字段ccc)
想通过一触发器达到如下效果:
例:在"表A"中增加一条记录时,插入的记录[字段b]值为“张三”,如果在[表C.字段bbb]中能找到“张三"则同时插入一条新记录到表B,要求[表B.字段BB]的值要为“张三三”即[表C.字段ccc]的值,
如果[表C.字段bbb]中值没有是“张三”的, 就不用插入了。
on 表A
for insert
as
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
SET XACT_ABORT ON
--加三句試試if exists (select top 1 * from inserted)
begin
insert into 表B(表B.字段aaa,表B.字段bbb,表B.字段ccc) select 表A.字段a,表A.字段b,表A.字段b+right(表A.字段b,1) from inserted where 表B.字段b not in(select 表C.字段bbb from 表C)endgo
怎样使表C.字段bbb 写入:表B.字段bbb,满足这个条件问题就解决了,现在可以进行where筛选了。
create trigger trig_a
on 表A
for insert
as
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
SET XACT_ABORT ON
--加三句試試if exists (select top 1 * from inserted)
begin
insert into 表B(字段aa,字段bb) select a.字段a,c.字段ccc from inserted a,表C c where a.字段b=c.字段bbbendgo
on 表A
for insert
as
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
SET XACT_ABORT ON
--加三句試試if exists (select top 1 * from inserted)
begin
insert into 表B(字段aaa,字段bbb,字段ccc) select a.字段a,c.字段bbb,a.字段b+right(a.字段b,1) from inserted a ,表C c where a.字段b not in(select 表C.字段bbb from 表C)
insert into 表B(表B.字段aaa,表B.字段bbb,表B.字段ccc) select 表A.字段a,表C.字段bbb,表A.字段b+right(表A.字段b,1) from inserted ,表C where 表B.字段b not in(select 表C.字段bbb from 表C)endgo
可以了,谢谢 hdhai9451(※★開拓者...前進☆※) ,明早结帖。
可以了,谢谢 hdhai9451(※★開拓者...前進☆※) ,明早结帖。
可以了,谢谢 hdhai9451(※★開拓者...前進☆※) ,明早结帖。
可以了,谢谢 hdhai9451(※★開拓者...前進☆※) ,明早结帖。
可以了,谢谢 hdhai9451(※★開拓者...前進☆※) ,明早结帖。
create trigger trig_a
on 表A
for insert
as
if exists (select top 1 * from inserted)
begin
insert into 表B(字段aa,字段bb,字段cc) select 字段a,字段b,字段b+right(字段b,1) from insertedendgo