Oracle中利用存储过程建表-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

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;

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章