如何用SQL语言写一个触发器,实现身份证号码位数的判断。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用SQL语言写一个触发器,实现身份证号码位数的判断。相关的知识,希望对你有一定的参考价值。

要求如果位数不为18位,提示“身份证号码位数不对”。

CREATE TRIGGER mod_test ON dbo.tablename
FOR 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语言写一个触发器,实现身份证号码位数的判断。的主要内容,如果未能解决你的问题,请参考以下文章

如何用jQuery实现输入身份证号码后,出生日期自动生成

如何用身份证号码算出年龄???

如何用sql语言比对两张表中是不是有重复身份证号

如何用excel计算出年龄?

用js把手机号码中间四位数转换成星号

如何用Excel提取身份证号码里面的出生日期?