zoukankan
html css js c++ java
用触发器实现主从表关系(主表更改从表更改 )
用触发器实现的 插入 更新 删除 子表也变化
CREATE
TABLE
[
dbo
]
.
[
tablex
]
(
[
idx
]
[
int
]
IDENTITY
(
1
,
1
)
NOT
NULL
,
[
ProductID
]
[
int
]
NULL
,
[
productName
]
[
char
]
(
10
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
GO
CREATE
TABLE
[
dbo
]
.
[
tabley
]
(
[
idy
]
[
int
]
IDENTITY
(
1
,
1
)
NOT
NULL
,
[
ProductID
]
[
int
]
NULL
,
[
productname
]
[
char
]
(
10
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
GO
CREATE
TRIGGER
triDelete
ON
[
dbo
]
.
[
tablex
]
FOR
delete
AS
begin
declare
@aa
varchar
(
200
)
set
@aa
=
(
select
productid
from
deleted)
if
@@rowcount
>
0
delete
tabley
where
productid
=
@aa
end
CREATE
trigger
tritmp
on
tablex
for
insert
as
insert
into
tabley(ProductID)
select
i.ProductId
from
inserted
as
i
where
i.ProductId
>
100
CREATE
TRIGGER
triUpdate
ON
[
dbo
]
.
[
tablex
]
FOR
UPDATE
AS
IF
UPDATE
(productname)
begin
declare
@aa
varchar
(
200
)
set
@aa
=
(
select
productid
from
INSERTED)
declare
@bb
varchar
(
200
)
set
@bb
=
(
select
productname
from
INSERTED)
if
(
@@rowcount
>
0
)
update
tabley
set
productname
=
@bb
where
productid
=
@aa
end
insert
tablex
values
(
300
,
'
东方
'
)
update
tablex
set
productname
=
'
大海
'
where
productid
=
300
select
*
from
tablex
select
*
from
tabley
delete
from
tablex
where
productid
=
300
select
*
from
tablex
select
*
from
tabley
其实删除时也可以用外键
删除
CREATE
TABLE
[
dbo
]
.
[
TABLE1
]
(
[
UserId
]
[
int
]
IDENTITY
(
1
,
1
)
NOT
NULL
,
[
name
]
[
char
]
(
10
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
CREATE
TABLE
[
dbo
]
.
[
TABLE2
]
(
[
id
]
[
int
]
IDENTITY
(
1
,
1
)
NOT
NULL
,
[
Userid
]
[
int
]
NULL
,
[
name
]
[
char
]
(
10
) COLLATE Chinese_PRC_CI_AS
NULL
)
ON
[
PRIMARY
]
GO
ALTER
TABLE
[
dbo
]
.
[
TABLE2
]
ADD
CONSTRAINT
[
FK_TABLE2_TABLE1
]
FOREIGN
KEY
(
[
Userid
]
)
REFERENCES
[
dbo
]
.
[
TABLE1
]
(
[
UserId
]
)
ON
DELETE
CASCADE
GO
select
*
from
table1
select
*
from
table2
insert
table1
values
(
'
def
'
)
insert
table2
values
(
5
,
'
def
'
)
select
*
from
table1
select
*
from
table2
delete
from
table1
where
userid
=
5
查看全文
相关阅读:
链表问题----反转部分单向链表
HTTP请求详解
链表问题----删除链表的中间节点和a/b处的节点
链表问题----删除倒数第K个节点
栈和队列----最大值减去最小值小于等于num的子数组的数量
栈和队列----求最大子矩阵的大小
TCP/IP、Http、Socket的区别
栈和队列----生成窗口的最大值数组
linux根文件系统制作,busybox启动流程分析
linux 内核启动流程分析,移植
原文地址:https://www.cnblogs.com/gwazy/p/484536.html
最新文章
Vim配置(转)
Linux IPC 之信号量
dwz分页实现分析
算法学习--希尔和快速排序
算法学习--二分法
使用CURL发彩信,短信和进行多线程
PHP中$_GET['name']与$_POST['name']变量直接用变量名$name的php配置
apache虚拟主机配置
YII学习笔记-登录后的session的总结
UAC下的程序权限提升
热门文章
修改可执行程序图标
注册表操作
进程操作
GDI+
获取当前进程是否是其它进程的子进程
new del 问题
获得系统信息
C++读取excel特定行列中的数据
网络拓扑图
链表问题----将单向链表按某值划分成左边小、中间相等、右边大的形式
Copyright © 2011-2022 走看看