oracle中冒号的问题
createorreplacetriggerggalterinsertontestforeachrowdeclarebeginif:old.names=:new.name...
create or replace trigger gg
alter insert
on test
for each row
declare
begin
if :old.names = :new.names then
raise_replaction_err(-2003,"编码重复");
end if
end---在这个语句中 old.names 前面加 : 是什么意思? 展开
alter insert
on test
for each row
declare
begin
if :old.names = :new.names then
raise_replaction_err(-2003,"编码重复");
end if
end---在这个语句中 old.names 前面加 : 是什么意思? 展开
3个回答
2013-04-18
展开全部
在oracle中。":"有2中意思;一:给变量赋值, 如, names varchar2(10) :='aa'; 这是把"aa"赋值给变量names二:表示引用。即引用表中字段所对应的值如:emp表中有个name为“Bob”,那么 : old.name 的值就是"Bob"。只是表示引用的时候,只能出现在触发器里面。希望对你有帮助!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询