我想在oracle中触发。
例如,我有一个表'测试'。并有8个数据。我想,如果表中的数据测试不到10个数据。该表不能删除/删除
create or replace trigger lalala
before drop on system.schema
begin
if count(*) table = <10
then
raise_application_error(-20001,'Table cannot be deleted');
end if;
end;
/
之前感谢
答案 0 :(得分:1)
听起来你需要一个DDL触发器才能开始。
http://docs.oracle.com/cd/B19306_01/server.102/b14220/triggers.htm#i6061
你想要一个&#34;在下降之前&#34;触发器执行表中行数的计数,如果不满足某些条件则引发错误。
我建议从一个只引发错误的触发器开始,然后自定义它以首先检测表中的行数。
通过声明变量来检测表中的行数,然后:
select count(*)
into my_variable
from my_table;
答案 1 :(得分:0)
public static MessageDatabase getInstance(Context context) {
if (MessageDatabase.instance == null || userID == 0) {
MessageDatabase.instance = new MessageDatabase(context);
}
return MessageDatabase.instance;
}