请帮忙看一个存储过程~~

zhou5101603 2012-09-21 04:48:22
CREATE OR REPLACE PROCEDURE insert_test1
as
v_date varchar2(50);
v_sql varchar(2000);
begin
select to_char(sysdate-1/(60*24),'yyyyMMddHHmi') INTO v_date from dual;--查询当前时间的前一分钟
v_sql:='create table view_test_'||v_date||' as(select count(1) js from g_test)';--组成SQL创建表
EXECUTE IMMEDIATE v_sql;
commit;
end;
上面这个存储过程为什么是错的?能编译过去,但是执行不了,我直接拿出来.

declare
v_date varchar2(50);
v_sql varchar(2000);
begin
select to_char(sysdate-1/(60*24),'yyyyMMddHHmi') INTO v_date from dual;--查询当前时间的前一分钟
v_sql:='create table view_test_'||v_date||' as(select count(1) js from g_test)';--组成SQL创建表
EXECUTE IMMEDIATE v_sql;

这样执行是对的~~
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhou5101603 2012-09-21
  • 打赏
  • 举报
回复
JOB 错误
ORA-12011:无法执行1作业
ORA_06512:在“SYS.DBMS_IJOB”, line 651
ORA_06512:在“SYS.DBMS_JOB”, line 294
ORA_06512:在 line 2
--------------------------------------------------
我创建JOB 的时候就 what 里面填写了 上面那个存储过程
然后间隔填写为SYSDATE + 1/(60*24)
zhou5101603 2012-09-21
  • 打赏
  • 举报
回复
现在我存储过程能执行了,但是我的JOB一直执行失败是什么原因?前面是因为我执行存储过程没有权限
luoyoumou 2012-09-21
  • 打赏
  • 举报
回复
怎么就执行不了?

17:01:23 @ > conn / as sysdba
已连接。
17:01:28 SYS@tdwora > grant create any table to scott;

授权成功。

17:01:29 SYS@tdwora > conn scott/bee56915
已连接。
17:01:37 SCOTT@tdwora > CREATE OR REPLACE PROCEDURE insert_test1
17:01:50 2 as
17:01:50 3 v_date varchar2(50);
17:01:50 4 v_sql varchar(2000);
17:01:50 5 begin
17:01:50 6 select to_char(sysdate-1/(60*24),'yyyyMMddHHmi') INTO v_date from dual;--查询当前时间的前一分钟
17:01:50 7 v_sql:='create table view_test_'||v_date||' as select count(1) js from g_test';--组成SQL创建表
17:01:50 8 EXECUTE IMMEDIATE v_sql;
17:01:50 9 commit;
17:01:50 10 end;
17:01:50 11 /

SP2-0804: 过程已创建, 但带有编译警告

17:01:52 SCOTT@tdwora > exec insert_test1;

PL/SQL 过程已成功完成。

17:02:53 SCOTT@tdwora > select table_name from user_tables where table_name like 'VIEW%';

VIEW_TEST_201209210500

17:03:16 SCOTT@tdwora > SELECT * FROM VIEW_TEST_201209210500;

2

17:03:33 SCOTT@tdwora > set heading of
SP2-0265: heading 必须设置为 ON 或 OFF
17:04:02 SCOTT@tdwora > set heading on
17:04:05 SCOTT@tdwora > SELECT * FROM VIEW_TEST_201209210500;

JS
----------
2

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧