如何用SQL语言写一个触发器,实现身份证号码位数的判断。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用SQL语言写一个触发器,实现身份证号码位数的判断。相关的知识,希望对你有一定的参考价值。
要求如果位数不为18位,提示“身份证号码位数不对”。
CREATE TRIGGER mod_test ON dbo.tablenameFOR UPDATE
AS
declare @errno int, @errmsg varchar(255)
if (select len(身份证) from inserted) not in (0,18)
begin
select @errno = 50001, @errmsg = '身份证号码不等於18位,请检查!! '
goto error
end
return
error:
raiserror @errno @errmsg
rollback transaction 参考技术A CREATE TRIGGER T_身份_Irig ON dbo.身份 FOR insert AS
SET NOCOUNT ON
IF EXISTS (SELECT * FROM inserted
where DATALENGTH(ltrim(rtrim(身份证号码)))<18 )
begin
RAISERROR ('身份证号码位数不对!', 16, 10)
ROLLBACK TRANSACTION
goto jjj
end
jjj:本回答被提问者采纳
sql2000 如何用触发器实现级联删除
参考技术A 下面是在user表上建立触发器的语句,在topic上建触发器的语句类似CREATE
TRIGGER
deleteuser
ON
[dbo].[user]
INSTEAD
OF
DELETE
AS
DECLARE
@id
int;
--把数据类型改成与user_id一致
SELECT
@id=user_id
from
deleted;
DELETE
FROM
UT
WHERE
user_id=@id;
DELETE
FROM
user
WHERE
user_id=@id;
你把级联
DELETE
或
UPDATE取消掉就行了 参考技术B delete
user
where
user_id
in
(select
user_id
from
UT
where
1=1)
delete
topic
where
topic_id
in
(select
topic_id
from
UT
where
1=1)
无须触发器.
直接用子删除语句即可实现.
不知满意否>
如果一定要用
也可以留言给我
继续作答
以上是关于如何用SQL语言写一个触发器,实现身份证号码位数的判断。的主要内容,如果未能解决你的问题,请参考以下文章