表A 字段A B C D E 表B 字段A B C F G 2张表所有字段都是not null当插入A一条记录时 触发INSERT TR 复制表A 的部分字段 A B C 到表B 并且 表B 的字段 F G 是调用.dll 的2个函数 自动生成 这种需求 请各位指教下哦 TR可以实现吗 用SP的话 是不是速度会慢很多? 谢谢各位金言
我设计的是一个根据A字段判断奇偶的效果.create table A(a int , b int , c int , d int , e int) create table B(a int , b int , c int , f int , g int) goCREATE FUNCTION my_func(@par int) RETURNS int AS BEGIN RETURN(@par % 2) END goCREATE TRIGGER my_trig ON a FOR INSERT as begin insert into b select a , b, c , dbo.my_func(a) , dbo.my_func(a) from inserted end goinsert into A values(1,1,1,1,1) insert into A values(2,1,1,1,1)select * from Bdrop table A , B drop function my_func/* a b c f g ----------- ----------- ----------- ----------- ----------- 1 1 1 1 1 2 1 1 0 0(所影响的行数为 2 行) */
表B 字段A B C F G
2张表所有字段都是not null当插入A一条记录时 触发INSERT TR 复制表A 的部分字段 A B C 到表B 并且 表B 的字段 F G 是调用.dll 的2个函数 自动生成
这种需求 请各位指教下哦 TR可以实现吗 用SP的话 是不是速度会慢很多? 谢谢各位金言
http://topic.csdn.net/u/20081005/11/57061a18-c234-40ee-ba4b-1f4c3bc7f09a.html
create table B(a int , b int , c int , f int , g int)
goCREATE FUNCTION my_func(@par int)
RETURNS int
AS
BEGIN
RETURN(@par % 2)
END
goCREATE TRIGGER my_trig ON a FOR INSERT
as
begin
insert into b select a , b, c , dbo.my_func(a) , dbo.my_func(a) from inserted
end
goinsert into A values(1,1,1,1,1)
insert into A values(2,1,1,1,1)select * from Bdrop table A , B
drop function my_func/*
a b c f g
----------- ----------- ----------- ----------- -----------
1 1 1 1 1
2 1 1 0 0(所影响的行数为 2 行)
*/
我想问下 通过TR 调用存储过程(调用.dll 函数) 和 直接在程序写sql语句 那种更效率呢 或者第三种方法.
携带提问 :我记得 如果是TR 通过存储过程调.dll 那这.dll必须是com .dll吧 普通.dll不行的吧