PL/SQL块中不能直接执行DDL语句(错误)
(后篇批量删除表时却明明在PL/SQL块中使用了DROP,而且执行成功,厄...自打三十大板...谁来救我...)
v_string varchar2(1000);
begin
v_string:='create table dm_test as select * from dm_mpg_test where nyr=20080101;';
execute immediate v_string;
end;
如上执行将报错。
虽然PL/SQL块不可以直接执行DDL命令,但是可以通过DBMS_OUTPUT程序包执行。
v_cursor integer;
v_sql varchar2(500);
v_tablename varchar2(10) :='dm_test';
v_tablecolumn varchar2(100) :='kh varchar2(10),nyr varchar(10)';
begin
v_cursor:=dbms_sql.open_cursor;
v_sql:='CREATE TABLE ' || v_tablename || ' ( ' || v_tablecolumn || ' )';
dbms_sql.parse(v_cursor, v_sql, dbms_sql.v7);
dbms_sql.close_cursor(v_cursor);
end;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
KH VARCHAR2(10) Y
NYR VARCHAR2(10) Y
SQL>
转载于:https://blog.51cto.com/dongdong1314/207982
PL/SQL块中不能直接执行DDL语句(错误)相关推荐
- 在 if...elif...else 的多个语句块中只会执行一个语句块?_如果 (If) | Python 中的条件控制语句详解...
点击上方"可乐python说"关注公众号,点击右上角 "..."选择"设为星标"第一时间获取最新分享! 前言 Hi,大家好,我是可乐,生活中 ...
- Pro*C 中嵌入pl/sql块
From: http://blog.csdn.net/zistxym/article/details/5054066 /* 包含C头文件 */ #include <stdio.h> #in ...
- oracle 动态执行ddl语句,Oracle过程中执行动态SQL或DDL语句
如果你用的是 Oracle 8i 及以上的版本,那简单,在过程中用 execute immediate sql_str 就行, sql_str 是一个拼凑的 SQL 语句, 如果你用的是 Oracle ...
- 第 1 行出现错误: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-38301: 无法对回收站中的对象执行 DDL/DML
第 1 行出现错误: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-38301: 无法对回收站中的对象执行 DDL/DML 由于删除表空间时 出了点问题 最后一直没发删除表空间 先断 ...
- Oracle数据库PL/SQL块-存储函数和过程
PL/SQL块 PL/SQL程序由三个块组成,即声明部分.执行部分.异常处理部分 结构如下: declare /*声明部分,在此声明变量,类型及游标*/begin /*执行部分,过程及sql语句, ...
- PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)
PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...
- Oracle入门(十四.3)之创建PL / SQL块
一.PL / SQL块结构 一个PL / SQL块由三部分组成. PL / SQL块结构部分 二.PL / SQL编译器 用高级编程语言(C,Java,PL / SQL等)编写的每个程序都必须经过检查 ...
- 使用Oracle SQL Developer 编写运行 PL/SQL 块
首先, 普及一下基本概念: PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言. PL/SQL 块对应的就是一小段代码了. 适用说明: 1. ...
- PL/SQL Developer中,存储过程无法调试的问题解决办法
在Oracle10中新建了一个用户,然后编写存储过程在PL/SQL Developer中调试,提示 ORA-0131: Insufficient privileges. Note: Debugging ...
最新文章
- Python串行运算、并行运算、多线程、多进程对比实验
- Hiredis库的简单使用
- 时序列数据库武斗大会之 OpenTSDB 篇
- hashmap put复杂度_你碰到过几种HashMap在高并发下出现的问题,哪些可能出现的问题...
- 公司技术部的罗强月薪10000,要跳槽
- 十个Android Material Design库
- Mac小知识--软件的三种安装/卸载方法,优缺点分析
- View系列:事件分发:滑动触摸事件分发
- 高德地图两点间距离计算函数
- RT_Thread中rtconfig.h解析
- 苹果MacBookPro六核i9芯32G存4TB硬SSD560X显15寸顶配51352元(公号回复“苹果AI”下载PDF资料)
- Linux 修改hosts文件
- 拼多多产品怎么引流?拼多多商品怎么引更多的流量?
- CP.12图、网络、关联矩阵
- C++数据结构实验---线性表的基本操作
- nginx搭建点播服务器
- 怎么隐藏回收站?3个方法轻松隐藏回收站!
- linux点阵字符显示字体颜色,点阵字体显示系列之一:ASCII码字库的显示
- Matlab项目实例-用电量
- Spark 基本知识介绍