Oracle中利用存储过程建表

简介: Oracle中存储过程不可以执行DDL语句,但是我们可以利用动态sql语句来建立表格。 如下:   代码 create or replace procedure spCreateTestTableis    v_CreateString varchar2(1000);begin   ...

Oracle中存储过程不可以执行DDL语句,但是我们可以利用动态sql语句来建立表格。

如下:

 

img_405b18b4b6584ae338e0f6ecaf736533.gif 代码
create   or   replace   procedure  spCreateTestTable
is
    v_CreateString 
varchar2 ( 1000 );
begin
    
declare
        v_count 
number ;
    
begin
        v_count :
=   0 ;
        
        
select   count ( * )
        
into  v_count
        
from  tab
        
where  tname = ' TEST_TABLE ' ;
        
        
if  v_count = 1   then
            dbms_output.put_line(
' test table already exists ' );
            v_CreateString :
=   ' drop table test_table ' ;
            
execute  immediate v_CreateString;
            
commit ;
        
else
            dbms_output.put_line(
' test table created ' );
        
end   if ;
        
        v_CreateString :
=   ' create table test_table( '   ||
                                                
' aa varchar2(5),  '   ||
                                                
' bb varchar2(5)) ' ;
        
execute  immediate v_CreateString;
        
commit ;
    exception
   
when  others
   
then
        
rollback ;
   
end ;
end ;

 

 

目录
相关文章
|
1月前
|
存储 SQL Oracle
Oracle系列十五:存储过程
Oracle系列十五:存储过程
|
7月前
|
存储 Oracle 关系型数据库
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
550 0
|
3月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
38 0
|
3月前
|
存储 SQL Java
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(一)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
35 0
|
4月前
|
存储 SQL Oracle
|
5月前
|
SQL 存储 Oracle
Oracle如何使用PL/SQL调试存储过程
Oracle如何使用PL/SQL调试存储过程
112 0
|
7月前
|
存储 Oracle Java
[亲测可用]hibernate调用Oracle存储过程|Spring Data JPA调用Oracle存储过程方法
[亲测可用]hibernate调用Oracle存储过程|Spring Data JPA调用Oracle存储过程方法
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库
Oracle刷建表语句
代码实例 select c.table_name, case when c.column_id=c.COLUMN_ID_MIN then 'create external table '||u.
1034 0
|
SQL 移动开发 Oracle
Oracle刷出整库建表语句
刷建表语句 select c.table_name, case when c.column_id=c.COLUMN_ID_MIN then 'create external table '||u.
1066 0

推荐镜像

更多