0 0

一个存储过程编写0

create table view_configid_wagename (ID bigint(18),NAME varchar2(20));

insert into view_configid_wagename (NAME, ID)values ('JOB_WAGE', 1);

insert into view_configid_wagename (NAME, ID)values ('LEVEL_WAGE', 2);

insert into view_configid_wagename (NAME, ID)values ('LIVE_ALLOWANCE', 3);

insert into view_configid_wagename (NAME, ID)values ('WORK_ALLOWANCE', 4);

insert into view_configid_wagename (NAME, ID)values ('POST_WAGE', 5);

insert into view_configid_wagename (NAME, ID)values ('TECHNICAL_GRADE_WAGE', 6);

insert into view_configid_wagename (NAME, ID)values ('LIVE_ALLOWANCE', 7);

insert into view_configid_wagename (NAME, ID)values ('WORK_ALLOWANCE', 8);

insert into view_configid_wagename (NAME, ID)values ('NULL', 21);

insert into view_configid_wagename (NAME, ID)values ('NULL', 22);

insert into view_configid_wagename (NAME, ID)values ('NULL', 23);

insert into view_configid_wagename (NAME, ID)values ('NULL', 24);

insert into view_configid_wagename (NAME, ID)values ('NULL', 25);

 

[code="java"] CREATE OR REPLACE PROCEDURE "GOVHR"."DEMO" authid current_user IS V_SQL VARCHAR2(10000) ; CURSOR CURSOR_1 IS SELECT T.ID,T.NAME FROM VIEW_CONFIGID_WAGENAME T ORDER BY ID; BEGIN V_SQL := 'SELECT ROWNUM '; FOR V_ID IN CURSOR_1 LOOP V_SQL := V_SQL|| ',' || V_ID.NAME||' AS ' || V_ID.ID; END LOOP; V_SQL := V_SQL || ' FROM VIEW_CONFIGID_WAGENAME '; --DBMS_OUTPUT.PUT_LINE(V_SQL); V_SQL := 'CREATE OR REPLACE VIEW DEMOVIEW AS '|| V_SQL; --DBMS_OUTPUT.PUT_LINE(V_SQL); EXECUTE IMMEDIATE V_SQL; END; ----------------执行存储过程,生成视图 BEGIN "GOVHR"."DEMO"; END; [/code]

 

 


 

2013年10月14日 18:31
  • 大小: 16.5 KB

2个答案 按时间排序 按投票排序

0 0

我就是没看懂 你的这个"GOVHR"."DEMO"  是什么意思,存储过程名称?

你将这"GOVHR"."DEMO"  替换成一个简单的字符串试试,比例test

个人觉得,你的问题应该就出着这里

2013年10月15日 19:39
0 0

sql中对引号是比较敏感的,双引号表示对象,单引号表示字符串,看看你的双引号是不是有问题。。

2013年10月15日 11:51

相关推荐

Global site tag (gtag.js) - Google Analytics