Welcome 微信登录

首页 / 数据库 / MySQL / 使用Oracle的动态SQL支持

Oracle动态SQL
  • DBMS_SQL的内置包
  • Native Dynamic SQL
Native Dynamic SQL的三种常用功能
  • 执行不包含绑定变量的动态DDL或DML
  • 执行包含绑定变量的动态DDL或DML
  • DQL支持,Data Query Language
场景/简单流程代码
  1. DECLARE  
  2.   TMPSTR VARCHAR2(4000) := NULL;  
  3.   TMPI   NUMBER(10) := 0;  
  4. BEGIN  
  5.   FOR C IN (SELECT B.TABLE_NAME      BTN  
  6.               FROM USER_CONSTRAINTS A  
  7.               LEFT JOIN USER_CONSTRAINTS B  
  8.                 ON A.OWNER = B.OWNER  
  9.                AND B.R_CONSTRAINT_NAME = A.CONSTRAINT_NAME  
  10.              WHERE A.OWNER = "NSTCSA224"  
  11.                AND A.TABLE_NAME = "CPM_BRANCH") LOOP  
  12.     IF (C.BTN IS NOT NULL) THEN  
  13.       TMPSTR := "BEGIN SELECT COUNT(*) INTO :CC FROM " || C.BTN || " ; END;";  
  14.       EXECUTE IMMEDIATE TMPSTR USING OUT TMPI;  
  15.       DBMS_OUTPUT.PUT_LINE("SQL语句: " || TMPSTR);  
  16.       DBMS_OUTPUT.PUT_LINE("表名称:" || C.BTN || "   数据:" || TMPI);  
  17.     END IF;  
  18.   END LOOP;  
  19. EXCEPTION  
  20.   WHEN OTHERS THEN  
  21.     DBMS_OUTPUT.PUT_LINE(SQLERRM);  
  22. END;  
参考资料1、Oracle Database  10g PL/SQLLinux下安装Oracle常见问题Linux下MySQL的写文件时权限错误(Errcode: 13)解决方法相关资讯      oracle数据库教程 
  • Oracle raw数据类型介绍  (01/29/2013 10:05:53)
  • 监听器注册与ORA-12514 错误分析  (11/13/2012 14:30:08)
  • Oracle SQL的cursor理解  (11/13/2012 14:16:17)
  • Oracle 如何强制刷新Buffer Cache  (01/29/2013 10:02:46)
  • dblink致Oracle库的SCN变成两库的  (11/13/2012 14:24:41)
  • Linux操作系统下完全删除Oracle数  (11/13/2012 08:25:52)
本文评论 查看全部评论 (0)
表情: 姓名: 字数