ORACLE: SELECT语句里调用函数使用DML语句进行Update/Insert/Delete操作
2010-08-14 10:35
477 查看
FUNCTION get_tg_dop_reserved(
dop_id_ IN NUMBER) RETURN VARCHAR2
IS
PRAGMA AUTONOMOUS_TRANSACTION; /* 注意:这句话必须写 */
dummy_ NUMBER;
CURSOR c1 IS
SELECT 1
FROM DOP_HEAD a
WHERE a.dop_id = dop_id_
AND a.objstate NOT IN ('Removed','Closed','Created');
BEGIN
OPEN c1;
FETCH c1 INTO dummy_;
CLOSE c1;
IF dummy_ IS NOT NULL THEN
tg_imp001_api.tg_dop_reserved(dop_id_);
COMMIT; /* 注意:如果做了DML,一定要提交或回滚 */
RETURN '預留成功!';
END IF;
RETURN '沒找到該DOP!';
END get_tg_dop_reserved;
以上声明后就可以使用SELECT语句了
SELECT get_tg_dop_reserved(268) “结果"
FROM dual;
dop_id_ IN NUMBER) RETURN VARCHAR2
IS
PRAGMA AUTONOMOUS_TRANSACTION; /* 注意:这句话必须写 */
dummy_ NUMBER;
CURSOR c1 IS
SELECT 1
FROM DOP_HEAD a
WHERE a.dop_id = dop_id_
AND a.objstate NOT IN ('Removed','Closed','Created');
BEGIN
OPEN c1;
FETCH c1 INTO dummy_;
CLOSE c1;
IF dummy_ IS NOT NULL THEN
tg_imp001_api.tg_dop_reserved(dop_id_);
COMMIT; /* 注意:如果做了DML,一定要提交或回滚 */
RETURN '預留成功!';
END IF;
RETURN '沒找到該DOP!';
END get_tg_dop_reserved;
以上声明后就可以使用SELECT语句了
SELECT get_tg_dop_reserved(268) “结果"
FROM dual;
相关文章推荐
- ORACLE:SELECT语句里调用函数使用DML语句进行UPDATE/INSERT/DELETE操作
- 使用mybatis在oracle进行批量插入的insert语句
- Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句
- oracle使用select语句复制表
- oracle使用rownum进行分页语句详解
- Oracle使用SQL语句进行递归查询
- 使用select语句查看oracle的各种命中率和性能统计数据
- Oracle Class2. SQL查询和SQL函数(Oracle数据类型,ddl,dml,dcl,事务控制语言tcl,sql操作符,sql函数,select语句,运算符,分析函数,临时表)
- Oracle 有long类型字段的表 使用insert into select 语句 ,出现:ORA-00997 错误
- oracle:case 语句使用(用于select子句的case语句中可以使用in这个函数)
- Oracle不支持在select语句中调用自定义函数时使用自定义类型作参数?
- mybatis使用select语句进行关联查询
- Oracle中用一条SQL语句直接进行Insert/Update的操作--merge into的使用
- 使用Oracle的instr函数与索引配合提高模糊查询的效率 一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式: 1.select * from tb wh
- Oracle-18-select语句初步&SQL中用算术表达式&别名的使用&连接运算符%distinct&where子句
- Oracle:在Oracle中使用锁进行并发控制
- oracle入门之 Select查询语句(二)
- 使用Oracle的DBMS_SQL包执行动态SQL语句
- 经常使用的Oracle监控语句
- oracle 使用order by 对汉字进行多字段排序