ORA-14551: cannot perform a DML operation inside a query
摘要:在执行一个有读写的函数调用的sql查询时,报错:ORA-14551: cannot perform a DML operation inside a query如图:经查,对数据库有写操作(INSERT、UPDATE、DELETE、CREATE、ALTER、COMMIT)的函数,是无法简单的用SQL来调用的.使用"自主事物",可以解决这个问题.其实"自主事物"的功能,主要是解决回滚时,标记了PRAGMAAUTONOMOUS_TRANSACTION;的代码块不受外面调用的事物作用.在解决触发器更新不成功时,如果按默认,记录日志的也将回滚,用该方法强制记录日
阅读全文
posted @
2012-09-26 15:31
敌敌
阅读(775)
推荐(0)
oracle 约束
摘要:约束简介约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符合约束,那么DML操作(INSERT、UPDATE、DELETE)将不能成功执行。约束包括NOT NULL、UNIQUE、PRIMARY KEY、FOREING KEY 以及CHECK等五种类型定义约束列级约束:column [CONSTRAINT constraint_name] constraint_type表级约束:column ,...,[CONSTRAINT constraint_name] constraint_type (column,...)1.定义NOT NULL约束NOT NULL 约
阅读全文
posted @
2012-09-10 10:32
敌敌
阅读(921)
推荐(1)