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

开发者社区> master_haku> 正文

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;

 

 

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

相关文章
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4496 0
oracle查看系统存储过程
select line,text from dba_source where name='PRO_E_F_ORDER_STAT'; select object_name,object_typ...
413 0
java代码调用oracle存储过程
一、简介   与调用mysql存储过程类型过程都是如下   1、创建连接 Connection conn = DriverManager.getConnection(url, user, password);   2、创建CallableStatement CallableStatement statement = conn.
679 0
Oracle存储过程基本语法
  1.基本结构   CREATE OR REPLACE PROCEDURE 存储过程名字   (   参数1 IN NUMBER,   参数2 IN NUMBER   ) IS   变量1 INTEGER :=0;   变量2 DATE;   BEGIN   END 存储过程名字   2.SELECT INTO STATEMENT   将select查询的结果存入到
1104 0
+关注
master_haku
Master HaKu
502
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载