社区
Oracle
帖子详情
帮我看一下这个过程错在哪里?
Caobiao
2003-10-17 11:23:16
create or replace procedure ProName
is
begin
......
create global temporary table Tmp_EspecialUser (
EspecialUserID varchar(11) null,
CutListID varchar(11) null,
Detail varchar(255) null
) on commit preserve rows ;
......
end proName;
...全文
98
8
打赏
收藏
帮我看一下这个过程错在哪里?
create or replace procedure ProName is begin ...... create global temporary table Tmp_EspecialUser ( EspecialUserID varchar(11) null, CutListID varchar(11) null, Detail varchar(255) null ) on commit preserve rows ; ...... end proName;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LGQDUCKY
2003-10-17
打赏
举报
回复
我是说存储过程里不能直接调用数据库定义语句。需要动态SQL来执行。
对应数据库操纵语句是可以直接写的,如:
INSERT INTO TABLE_NAME VALUES('AA',334);
就可以了
Caobiao
2003-10-17
打赏
举报
回复
但是我接下来就要对这个临时表进行很多操作那不是每个都得进行动态操作?
例如我要对那进行数据的插入,
然后对它定义游标对里面的数据进行分析。
如果每个操作都用execute immediate str;这种形式那不惨了呀?
有没有解决方案?谢谢!
LGQDUCKY
2003-10-17
打赏
举报
回复
错在存储过程里不能直接调用数据库定义语句。需要动态SQL来执行。
而且要明确给用户CREATE TABLE的权限。
str := ' create global temporary table Tmp_EspecialUser (
EspecialUserID varchar(11) null,
CutListID varchar(11) null,
Detail varchar(255) null
) on commit preserve rows ';
execute immediate str;
beckhambobo
2003-10-17
打赏
举报
回复
create or replace procedure ProName
is
str varchar2(100);
begin
......
str:='create global temporary table Tmp_EspecialUser (
EspecialUserID varchar(11) null,
CutListID varchar(11) null,
Detail varchar(255) null
) on commit preserve rows ';
execute immediate str; --grant create any table to 当前用户
......
end proName;
neil2000
2003-10-17
打赏
举报
回复
还要给用户"create any table"的系统权限,只给DBA的权限是不行的。
jiezhi
2003-10-17
打赏
举报
回复
use dynamic sql:
execute immediate 'create ...';
Caobiao
2003-10-17
打赏
举报
回复
问题还没解决,先结一张贴子,慰劳兄弟们,接分!
JCC0128
2003-10-17
打赏
举报
回复
方案一
create or replace procedure ProName
is
str varchar2(100);
begin
......
str:='create global temporary table Tmp_EspecialUser (
EspecialUserID varchar(11) null,
CutListID varchar(11) null,
Detail varchar(255) null
) on commit preserve rows ';
execute immediate str; --grant create any table to 当前用户
......
end proName;
同时 还要给用户"create any table"的系统权限,只给DBA的权限是不行的。
二,方案二,见你的另一张贴子
记得给分
理论三:面向对象相比面向
过程
有哪些优势?面向
过程
真的过时了吗?
王争《设计模式之美》学习笔记 文章目录理论三:面向对象相比面向
过程
有哪些优势?面向
过程
真的过时了吗?什么是面向
过程
编程与面向
过程
编程语言?面向对象编程相比面向
过程
编程有哪些优势?1.OOP 更加能够应对大规模复杂程序的开发2.OOP 风格的代码更易复用、易扩展、易维护3.OOP 语言更加人性化、更加高级、更加智能重点回顾1. 什么是面向
过程
编程?什么是面向
过程
编程语言?2. 面向对象编程相比面向
过程
编程有哪些优势? 理论三:面向对象相比面向
过程
有哪些优势?面向
过程
真的过时了吗? 实际上,除了面向对象之外,被
什么时候使用存储
过程
比较适合?
存储
过程
(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储
过程
的名字并给出参数(如果该存储
过程
带有参数)来执行它。存储
过程
是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储
过程
。 当一个事务涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用存储
过程
毒药?解药?
题目描述 羽毛笔和im是抽签到同一个考场的,她们突然闻到一阵刺鼻的化学试剂的气味。 机灵鼠:(头都不抬)你们是考生么?还在门口磨蹭什么?快进来
帮
我忙!!……怎么还不进来?你们拖赛,拖赛,把你们的青春都拖掉赛…… im:开…开策了>< 羽毛笔:哎呀~~机灵鼠大人要我们
帮
什么忙?^^ 机灵鼠:你们看这里的这些药,都是我研制的对付各种症状的解药。可是我一个不小心,每种药都小小地配
错
了一点原料,所以这些药都有可能在治愈某些病症的同时又使人患上某些别的病症……(im:那…那是解药..
到底为什么我们总是
错
过跃阶?
到底为什么我们总是
错
过跃阶? (本文价值100万) 谁是李笑来 李笑来 我不说你知道吧? BC首富 一个BC可以换多少人民币? 哦不好意思 是7000+美刀 而他有十万个!!! 而他有十万个!!! 而他有十万个!!! 所以他是BC首富 早期有人建议我买BC 2009年BC刚刚出现时,价格还不到1美分, 人民币7元钱就可以兑换1300个BC 我知道BC的时候是2011年 因为我清楚的知道, 我同...
Redisson里的“看门狗”居然有这两个“bug”?
大家好! 提到分布式锁,大家一般都会想到 Redis。 想到 Redis,一部分同学会说到 Redisson。 那么说到 Redisson,就不得不掰扯掰扯
一下
它的“看门狗”机制了。 所以你以为这篇文章我要给你讲“看门狗”吗? 不是,我主要是想给你汇报
一下
我最近研究的由于引入“看门狗”之后,给 Redisson 带来的两个看起来就菊花一紧的 bug : 看门狗不生效的 BUG。 看门狗导致死锁的 BUG。 为了能让你丝滑入戏,我还是先简单的给你铺垫
一下
,Redisso..
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章