如何在存储过程(procedure)中创建表

上一篇 / 下一篇  2008-04-10 10:55:24

〖原理(Cause 

使用动态SQL可以执行DDL语句。

 

〖方法(Action 

方法一:

Step01创建存储过程create_table

CREATE OR REPLACE PROCEDURE create_table

IS

v_Cursor       NUMBER;--定义游标

v_CreateString VARCHAR2(100);--这个变量存放创建表的SQL语句。

BEGIN

 v_Cursor := DBMS_SQL.OPEN_CURSOR;--打开游标

 v_CreateString := 'CREATE TABLE tp (id int,name varchar2(20))';--创建表的SQL语句。

 DBMS_SQL.PARSE(v_Cursor, v_CreateString, DBMS_SQL.V7);执行建表的SQL语句

 DBMS_SQL.CLOSE_CURSOR(v_Cursor);--关闭游标

END create_table;

 

Step02执行存储过程

SQL> execute create_table;

PL/SQL procedure successfully completed.

这个过程将创建表tp

 

方法二:

Step01创建过程存储过程create_table

SQL> create or replace procedure create_table

 2 as

 3 Pstring varchar2(2000);

 4 begin

 5 Pstring:=' CREATE TABLE tp (id int,name varchar2(20))' ;--创建表的sql语句

 6 execute immediate p_string;--创建表

  7 end;

 8 /

 

Procedure created.

 

Step02执行过程

SQL> execute create_table;

PL/SQL procedure successfully completed.

这个过程将创建表tp


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-07  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 5747
  • 日志数: 45
  • 文件数: 1
  • 建立时间: 2008-04-10
  • 更新时间: 2008-07-25

RSS订阅

Open Toolbar