我想在触发器上实现一个条件,基本上说:'只有用户:Boss可以做到这一点'
我到处搜索,但我找不到任何东西......
在我的触发器中,只有老板可以将薪水提高20%
这就是我已经做过的事情:
CREATE OR REPLACE TRIGGER BOSSPERMISSION
BEFORE UPDATE
ON teachers
FOR EACH ROW
DECLARE
error EXCEPTION;
BEGIN
IF (((:NEW.SALARY-:OLD.SALARY)/:OLD.SALARY)*100) > 20 THEN
-- Here i want to include another if condition which says what I asked
END IF;
EXCEPTION
WHEN error THEN
RAISE_APPLICATION_ERROR(-20002,'You're not the boss');
END;
/
我在Oracle SQL上工作。
以下回复,请确保删除旧触发器。
答案 0 :(得分:2)
在触发器体中:
var classId = DataClassInfoProvider.GetDataClassInfo("My.Product").ClassID;
var productClasses = DataClassInfoProvider.GetClasses()
.WhereEquals("ClassInheritsFromClassID", classId)
.ToList();
var products = DocumentHelper.GetDocuments()
.OnSite("MyWebSite")
.Types(productClasses.Select(x => x.ClassName).ToArray())
.WithCoupledColumns()
.ToList()
.Select(x =>
{
var product = new Product();
product.Initialize(x, tree);
return product;
})
.ToList();
更新:
if USER<>'BOSS' then
RAISE;
end if;
OUTPUT(为我工作):
create or replace trigger BOSSPERMISSION before update on teachers
for each row
begin
if user<>'BOSS' then
raise_application_error(-20001,'Only Bawse can do it');
end if;
end;