oracle中如何在存储过程里创建视图

我要在存储过程中创建的视图如下:

CREATE OR REPLACE VIEW V_TEST AS
SELECT T1.USER_ID,
T1.USER_NAME, --用户姓名
T1.USER_MAIL, --用户MAIL
T1.USER_MOBILE, --用户手机
T1.USER_TELEPHONE --用户电话
FROM TABLE1 T1
该怎么写呢?求大神

首先需要授权

sqlplus / as sysdba

grant create view to your_user;

然后创建表和存储过程

drop table table1;
create table TABLE1
(
  user_id        VARCHAR2(10),
  user_name      VARCHAR2(10),
  user_mail      VARCHAR2(10),
  user_mobile    VARCHAR2(10),
  user_telephone VARCHAR2(10)
);
CREATE OR REPLACE PROCEDURE CREATEVIEWS IS
  V_SQL VARCHAR2(10240);
BEGIN
  V_SQL := 'CREATE OR REPLACE VIEW V_TEST AS
    SELECT T1.USER_ID,
           T1.USER_NAME, --用户姓名
           T1.USER_MAIL, --用户MAIL
           T1.USER_MOBILE, --用户手机
           T1.USER_TELEPHONE --用户电话
      FROM TABLE1 T1';
  EXECUTE IMMEDIATE V_SQL;
END CREATEVIEWS;
/

执行,OK

SQL> exec createviews;
PL/SQL procedure successfully completed

温馨提示:答案为网友推荐,仅供参考
相似回答