首页 > 数据库 >Oracle动态建表示例

Oracle动态建表示例

时间:2023-06-15 10:13:28浏览次数:39  
标签:表示 name -- sql Oracle table iscount 动态 col

declare v_sql  varchar2(5000); v_iscount number;
begin

    -- 检查表是否存在
    select count(1) into v_iscount from user_tables where table_name = upper('${tableName}');

    -- 不存在执行DDL语句
    if v_iscount = 0 then

        -- 执行建表语句
        v_sql := 'create table table_name
        (
            col_name  col_type
        )';
        execute immediate v_sql;

        -- 建主键
        v_sql := 'alter  table table_name add constraint PK_NAME primary key (col_name)';
        execute immediate v_sql;

        -- 建索引语句
        v_sql := 'create index index_name on table_name(col_name)';
        execute immediate v_sql;

    end if;
end;

标签:表示,name,--,sql,Oracle,table,iscount,动态,col
From: https://www.cnblogs.com/codechange/p/17482089.html

相关文章

  • Oracle备份状态
    colOPERATIONFORMATa20colSTATUSFORMATa20colMBYTES_PROCESSEDFORMAT999999.99selectOPERATION,STATUS,OBJECT_TYPE,MBYTES_PROCESSED,to_char(START_TIME,'yyyy-mm-ddhh24:mi:ss')ASSTART_TIME,to_char(END_TIME,'yyyy-mm-ddhh24:mi:ss�......
  • windows php7、PHPStudy(小皮)配置oracle扩展
    一、php配置oci扩展1.访问链接下载对应oracle版本的即时客户端(OracleInstantClient)https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html  2.解压下载文件,将下面两个文件放入php目录下   3.访问链接https://windows.php.net/down......
  • Oracle-日期时间
    sysdate1.获取当前时间:selectsydatefromdual;--2023-06-159:38:16selecttrunc(sysdate+1)fromdual;--明天2023-06-16通过trunc截断时间,只保留日期部分selecttrunc(sysdate-1)fromdual;--昨天selecttrunc(sysdate)+12/24fromdual;--2023-06-1512:00:00,......
  • 算法学习day57动态规划part17-516、647
    packageLeetCode.DPpart17;/***516.最长回文子序列*给你一个字符串s,找出其中最长的回文子序列,并返回该序列的长度。*子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。**/publicclassLongestPalindromicSubsequence_51......
  • 算法学习day55动态规划part15-115、392
    packageLeetCode.DPpart15;publicclassDistinctSubsequences_115{publicintnumDistinct(Strings,Stringt){int[][]dp=newint[s.length()+1][t.length()+1];for(inti=0;i<s.length()+1;i++){dp[i][0]=......
  • 算法学习day56动态规划part16-583、72
    packageLeetCode.DPpart16;/***583.两个字符串的删除操作*给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数。*每步可以删除任意一个字符串中的一个字符。**/publicclassDeleteOperationforTwoStrings_583{publicintminDist......
  • 图的结构和模型——矩阵表示
    图是一种数据结构和模型,在计算机中存储图的最简单有效方式就是矩阵。矩阵作为表达图有效工具和手段,也便于运用代数的方法研究图的性质(这才是重点!),例如,我们可以通过矩阵计算结果,判定图的连通性/可达性等问题。一、邻接矩阵(adjacencymatrix)定义1设G=(V,E)是一个图,节点集合$......
  • ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效(oracle 锁表)(转载
    1、查看数据库内产生了哪些锁selectt2.username,t2.sid,t2.serial#,t2.logon_timefromv$locked_objectt1,v$sessiont2wheret1.session_id=t2.sidorderbyt2.logon_time;如:   USERNAMESIDSERIAL#LOGON_TIMElurou851241832013/7/3011:44:45知道被锁的用户l......
  • 挑战数据结构和算法——整数的二进制表示中1的个数
    题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。问题分析:本题涉及到二进制的处理,在本题使用到&操作和>>操作。方法:intget_num(intn){intnum=0;if(n<0){num+=1;n=n*(-1);}while(n!=0){......
  • 字段修改Oracle字段可为空的技巧(oracle修改可为空)
    字段修改Oracle字段可为空的技巧(oracle修改可为空)在Oracle中,可以利用一些技巧来修改表中的字段,使其可以接受空值。首先,要创建表中的一个字段可以接受空值,我们可以在创建该字段时使用NOTNULL的SQL指令,具体指令如下:CREATETABLEtable_name(col1INTEGERNOTNULL,col2......