SQL如何判断字段值大小超出值不给写入新数据,用触发器写
2个回答
展开全部
这样的触发器可以写,但是实际上Oracle在插入数据之前超出字段长度,本身就会弹出警告的,这样就显得触发器多余了。
不过,我也给你贴上触发器的代码,供你参考:
CREATE OR REPLACE TRIGGER trg_zdw_test_i
before INSERT ON BISDBA.zdw_test
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
I_LENG INTEGER;
BEGIN
select data_length
INTO I_LENG
FROM cols a
where a.table_name = 'ZDW_TEST'
and a.COLUMN_NAME = 'SN';
if :NEW.SN > I_LENG THEN
return;
end if;
END;
希望对你有帮助。
2015-09-10 · 知道合伙人软件行家
关注
展开全部
Create Table Student( --学生表
StudentID int primary key, --学号
age int
)
--insert 触发器
create trigger tri_insert
on student --将要进行更改的表名
for insert --给表插入一条数据的时候触发
as
declare @age int --定义一个变量
select @age =age from inserted --把查询出的指定字段的值赋值给变量
if @age >20
begin
raiserror('age error!',16,8)
rollback tran
end
go
StudentID int primary key, --学号
age int
)
--insert 触发器
create trigger tri_insert
on student --将要进行更改的表名
for insert --给表插入一条数据的时候触发
as
declare @age int --定义一个变量
select @age =age from inserted --把查询出的指定字段的值赋值给变量
if @age >20
begin
raiserror('age error!',16,8)
rollback tran
end
go
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询