首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问
一个容易忽略的问题:数据库的命名规则- -| 回首页 | 2005年索引 | - -Oracle的PLSQL笔记

奇怪的Oracle的授权:EXECUTE IMMEDIATE的权限问题

                                      

      今天开始拿起扔下好几年的PLSQL开始写Oracle的存储过程,但这次用了一些需要动态拼出来的SQL,所以,我打算用动态SQL来执行,以前没有用过,结果试验有问题。

      我发现了EXECUTE IMMEDIATE可以直接执行DDL,所以,就用了这个东西,但问题出来了,如果直接执行一个静态的SQL,则没有任何问题。如:

      EXECUTE IMMEDIATE 'create table ltf ( ty char(2))'

      但是如果后面的DDL是一个动态的SQL,则报错“权限不足”。

      我的用户是DBA的权限,我知道需要再分配一些什么权限,于是在网上搜了一下,发现了一个帖子:http://218.94.123.17/viewthread.php?tid=39754

      按照帖子中的一位大侠回复的,我执行了grant create table to 我的用户,再执行就可以了。

      输出命令:dbms_output.put_line(s);

      这里有一篇帖子,都是关于数据库的,可以看看:

      http://www.fankai.com/blog.php?userid=7764

      很多事情还是和想的不一样!

      推荐:《可不可以不勇敢》-范玮琪,很好听的一首歌!

【作者: 兔八哥】【访问统计:】【2005年10月26日 星期三 15:49】【注册】【打印

搜索

Google

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=3327988

来自购物网购物网的引用:

购物网

博客手拉手

Eclipse的linux安装
主板点不亮(不显示)的BIOS修复两法
通过JDBC创建Oracle的存储过程
真是……
答xyz朋友的问题

回复

- 评论人:zackary   2008-07-31 18:32:28   

需要create any table权限

- 评论人:王者之剑   2005-10-29 20:34:31   

我也碰到过

验证码:   
评论内容: