ORACLE 执行EXECUTE IMMEDIATE没反应
2016-07-29 00:00
477 查看
在用oracle的时候,我写了个存储过程,如下:
执行这个存储过程的时候,怎么都没效果,在SQL编辑框中拿出来,直接执行,执行成功
一开始想到是权限问题,可是我的权限是DBA,应该没什么问题,我就再次试试,试了很多次都是没效果
后来还是回到权限,试试用了授权创建表的权限。在pl/sql common输入以下
用户授权,这个是系统权限,授权成功后再执行,发现居然执行成功。真是无语了
后来查看了一下DBA的系统权限,权限太多,就没发现这个权限
create or replace procedure pro_table_create(tableName in varchar2, flag out varchar2 ) is begin flag := '1'; execute immediate 'CREATE TABLE ' || tableName || '(id number,name varchar2(255))'; return; EXCEPTION WHEN OTHERS THEN dbms_output.put_line('0'); flag := '0'; return; end;
执行这个存储过程的时候,怎么都没效果,在SQL编辑框中拿出来,直接执行,执行成功
一开始想到是权限问题,可是我的权限是DBA,应该没什么问题,我就再次试试,试了很多次都是没效果
后来还是回到权限,试试用了授权创建表的权限。在pl/sql common输入以下
grant create table to czm;
用户授权,这个是系统权限,授权成功后再执行,发现居然执行成功。真是无语了
后来查看了一下DBA的系统权限,权限太多,就没发现这个权限
相关文章推荐
- Oracle 递归树型查询(父子互逆查询)
- oracle redo日志恢复
- 进行oracle的冷备份
- oracle的RAC技术的jndi数据源配置
- oracle开发者大会见闻-最佳实践和最差实践
- 在windows下直接sqlplus登录oracle
- oracle通过dblink抽取数据处理
- oracle下创建dblink
- 检查本地oracle的tns
- oracle RAC技术场景简介
- oracle开发者大会-数据网格
- oracle中查看某个用户名下所有的表以及sequence
- 没想到国美竟然用oracle的团队来搭建电商平台
- linux下创建oracle用户表空间
- 查看某时刻oracle客户端链接数以及客户端服务器的名称
- Oracle官方并发教程(2)
- Oracle官方并发教程(2)
- Oracle官方并发教程(1)
- Oracle官方并发教程(1)
- oracle忘记密码找回