这个SQL Server 触发器 怎么实现?

数据库模式:Customer(CustomerNo,CustomerName,Telphone,Trust)OrderList(OrderNo,CustomerNo,Pr... 数据库模式:
Customer(CustomerNo,CustomerName,Telphone,Trust)
OrderList(OrderNo,CustomerNo,ProductName,OrderTime,SaleNum)
在OrderList表上创建一个触发器tri_Insert,当对OrderList表进行插入操作时,保证客户代码与Customer表中对应的字段值一致。
这是考试题,必须触发器啊,呵呵...
展开
 我来答
wangzhiqing999
2010-10-15 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3351万
展开全部
CREATE TRIGGER tri_Insert
ON OrderList
FOR INSERT
AS
DECLARE
@CustomerNo 数据类型不明;
BEGIN
-- 取得插入的 CustomerNo
SELECT @CustomerNo = CustomerNo FROM INSERTED;

IF NOT EXISTS ( SELECT * FROM Customer WHERE CustomerNo = @CustomerNo )
BEGIN
-- 不允许记录被插入,删除记录
DELETE FROM OrderList WHERE OrderNo = (SELECT OrderNo FROM INSERTED);

-- 抛出异常
RAISERROR (错误代码, 错误严重级别, 错误状态代码);
END

END
牧之卉0j1
2010-10-14 · TA获得超过1151个赞
知道大有可为答主
回答量:1689
采纳率:0%
帮助的人:1743万
展开全部
不用触发器
做外键,保持数据完整性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式