Sign-up....

如何在PLSQL 中写视图

建立视图的SQL如下

CREATE OR REPLACE VIEW A_VIEW AS

SELECT

field1,field2,field3

FROM

A_TABLE

这样写应该是没有问题的,

可是我用PROCEDURE写得话出错,代码如下:

CREATE OR REPLACE PROCEDURE mcdb.PGM IS

BEGIN

CREATE OR REPLACE VIEW A_VIEW AS

SELECT

field1,field2,field3

FROM

A_TABLE

END PGM;

请问怎么解决?

[310 byte] By [msdn] at [2007-8-14 15:31:47]
# 1 Re: 如何在PLSQL 中写视图

用动态SQL语句

-------

CREATE OR REPLACE PROCEDURE mcdb.PGM IS

BEGIN

execute immediate 'CREATE OR REPLACE VIEW A_VIEW AS ' ||

'SELECT field1,field2,field3 FROM A_TABLE';

END PGM;

xpony at 2005-2-16 21:41:35 >
# 2 Re: 如何在PLSQL 中写视图

谢谢楼上回答,编译通过了,但是为什么没有生成A_VIEW这个视图呢?

hwg119 at 2005-2-17 9:51:52 >
# 3 Re: 如何在PLSQL 中写视图

编译后要在运行这个过程才会生成视图的

xu_guanghui at 2005-2-17 10:51:59 >
# 4 Re: 如何在PLSQL 中写视图

对不起,初学PL/SQL,执行是“F8”,那怎么运行这个过程呢?

hwg119 at 2005-2-17 12:34:03 >
# 5 Re: 如何在PLSQL 中写视图

调用mcdb.PGM啊

例如

begin

cmdb.PGM;

end;

wzc1997 at 2005-2-17 13:20:06 >
# 6 Re: 如何在PLSQL 中写视图

begin

mcdb.PGM;

end;

编译可以了,但还是看不到生成的视图,为什么阿?

hwg119 at 2005-2-17 13:47:18 >
# 7 Re: 如何在PLSQL 中写视图

你SELECT一下,应该买问题的!

zouzhiyou at 2005-2-17 15:39:34 >

Oracle

All Classified