`

动态生成修改默认值SQL脚本

 
阅读更多
今天遇到一个问题, 就是在割接生产的脚本你类似如下
create table ** as select * from tableName@DB_LINK

但是割接过来的数据丢失了默认值,而其它外键索引主键我都有单独的脚本,唯一默认值未准备脚本,所以写了个下面的动作脚本来生成可以修改默认值的动态脚本:

DECLARE
  --定义一个字符串数组类型
  TYPE tableNamesArray IS TABLE OF VARCHAR2(200);
  --所有表名
  tableNames tableNamesArray := tableNamesArray('TEST_TAB,TEST_US',
                                               
                                                );

  result    varchar2(4000);
  tableName varchar2(200);
  ownerName varchar2(20);
  icnt      integer;
BEGIN

  --循环插入数据
  FOR i IN 1 .. tableNames.COUNT LOOP
    icnt      := instr(tableNames(i), ',');
    tableName := upper(subStr(tableNames(i), 1, icnt - 1));
    ownerName := upper(subStr(tableNames(i),
                              icnt + 1,
                              length(tableNames(i))));
 
    for rec in (select a.COLUMN_NAME cn, a.DATA_DEFAULT cd
                  from sys.all_tab_columns a
                 where a.TABLE_NAME = tableName
                   and a.OWNER = ownerName
                   and a.DATA_DEFAULT is not null) loop
      result := 'alter table OD.' || tableName || ' modify(' || rec.cn ||
                ' default ' || rec.cd || ');';
      dbms_output.put_line(result);
      result := '';
    end loop;
  end loop;

EXCEPTION
  WHEN others THEN
    DBMS_OUTPUT.put_line('执行生成INSERT语句出现异常!' || substr(sqlerrm, 1, 2000));
END;
分享到:
评论

相关推荐

    SQL脚本生成器 SQL脚本生成器

    SQL脚本生成器是一款强大的工具,它主要用于自动化创建和管理SQL数据库相关的脚本。在数据库管理、迁移、备份或更新过程中,这样的工具可以大大提高工作效率。本文将深入探讨SQL脚本生成器的功能、应用场景以及如何...

    SQLSERVER如何使用脚本生成表

    5. **查看脚本**:此时,一个新窗口将打开,显示用于创建该表的SQL脚本。这个脚本会包含`CREATE TABLE`语句,以及所有字段的定义、索引、主键、外键等信息。 如果你需要为多个表生成脚本,可以重复上述过程,或者...

    经典SQL脚本大全

    │ │ 5.1.1 修改标识值的示例.sql │ │ 5.1.1 标识列与普通列互相转换的示例.sql │ │ 5.2.1 查表法按日期生成流水号的示例.sql │ │ 5.2.1 查表法生成流水号的示例.sql │ │ 5.2.2 使用编号表按日期生成流水号...

    SQL表记录脚本生成器

    SQL表记录脚本生成器是一种实用工具,专为数据库管理员和开发人员设计,它能够方便地将数据库中的表结构、索引以及所有记录转换为SQL脚本。这种工具在数据备份、迁移和恢复过程中扮演着关键角色,尤其对于那些需要...

    SQLserver 表导出SQL脚本的工具

    在SQL Server数据库管理中,有时我们需要将数据表的结构或数据导出为SQL脚本,以便备份、迁移或在其他环境中重建。SQL Server提供了一些内置工具和方法来实现这一目标,这些工具通常对于数据库管理员和开发人员来说...

    使用SQL查询 生成sql server数据库结构字典 生成html

    首先,我们需要编写一段SQL脚本来获取所需的信息。这个脚本会从多个系统表和视图中提取数据,以确保所获取的信息是最准确和最完整的。以下是一个示例SQL脚本: ```sql SELECT CASE WHEN col.colorder = 1 THEN '...

    将整个数据库生成生成sql语句

    标题“将整个数据库生成生成sql语句”所指的是一项实用的技术,即数据库的完整备份和导出,通常通过执行特定的SQL脚本或者使用数据库管理工具来实现。这个过程可以确保我们拥有一份完整的数据库结构和数据的文本表示...

    sqlserver自动生成sql语句工具sqlserver转oracle

    这样的工具通常会提供用户友好的界面,让用户导入SQL Server的数据库元数据,然后生成相应的Oracle SQL脚本。 在实际操作中,使用这类工具进行数据库迁移时,我们需要注意以下几点: 1. 数据类型映射:SQL Server...

    SQL Server 数据库脚本导出器 v2.0

    该工具能自动生成创建这些对象的完整SQL脚本,包括CREATE TABLE、CREATE VIEW、CREATE PROCEDURE等语句。 2. **定制脚本选项**:导出器提供了丰富的配置选项,比如是否包含数据、是否启用身份标识插入、是否忽略...

    SQL脚本工具

    【SQL脚本工具】是一种专为数据库管理员和开发人员设计的实用程序,旨在简化数据库对象的脚本生成过程。在日常工作中,当需要备份数据库结构、迁移数据或分享数据库设计方案时,这样的工具变得非常关键。这个小工具...

    sql数据库文档生成器

    7. **源码生成**:除了文档,有些工具还支持生成数据库创建和填充的SQL脚本,方便在新的环境中快速重建数据库。 8. **导出与分享**:生成的文档应能轻松导出为Word、PDF或其他常见格式,以便于分享和打印。 9. **...

    Sqlserver2000经典脚本

    │ 5.4.4 缺勤天数统计的处理示例.sql │ │ │ └─其他 │ -补位法.sql │ 以另一个表的字段做默认值.sql │ 以另一表的字段生成编号.sql │ 关联部门流水号.sql │ 十六进制.sql...

    不用工具生成数据库字典sqlserver

    而本文档主要探讨的是如何通过编写SQL脚本来实现这一目标,即在SQL Server环境中不使用任何额外工具来生成数据库字典。 ### 二、关键技术点 #### 1. 使用 `INFORMATION_SCHEMA` 表来获取元数据 在 SQL Server 中,...

    动软代码生成器最新版

     可根据选定的数据库和表(可多选),自动生成增、删、改、查等操作的存储过程脚本,和生成表的创建脚本及数据记录的SQL脚本,支持在当前生成和导出脚本文件功能。  自动生成数据库结构文档  可以根据选定的...

    用PowerDesigner创建物理数据模型并生成数据库到SQL Server 2005

    - **创建存储过程**:利用PowerDesigner的SQL脚本编辑功能,编写存储过程代码,实现复杂的业务逻辑处理。 ##### 2.6 生成数据到SQL Server 2005 - **设置数据源(ODBC)**:在生成数据库前,需配置ODBC数据源,以...

    LTP.Net代码自动生成器(DbToCode)

    DbToCode 同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自动导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。 详细功能说明: 1....

    动软代码生成器使用文档

    代码生成器还提供了自动生成存储过程和SQL脚本的能力,可以创建表的创建脚本,生成数据插入脚本,以及增、删、改、查等操作的存储过程脚本。这些功能支持批量生成,且可以将脚本导出到文件中。 此外,该工具能根据...

    导出脚本工具

    1. **SQL脚本**:SQL(Structured Query Language)脚本是用SQL语言编写的文本文件,用于创建、修改、查询或操作数据库。通过使用脚本,用户可以执行一系列预定义的数据库操作,无需交互式地在数据库管理系统(DBMS...

    Access转SQL2000

    生成升迁 SQL脚本,保存为 *.sql文件后,SQL2000的查询分析器里调入执行 生成升迁 ASP脚本,这样你可以用该脚本和相应MDB数据库上传到服务器在线升迁 直接执行Access数据导入到SQL2000服务器(表结构和数据) V1.03 ...

    SQL Server 数据库脚本导出器2.0.rar

    SQL Server 数据库脚本导出器2.0是一款专为SQL Server设计的实用工具,它极大地简化了数据库脚本的管理和导出过程。在数据库管理中,脚本扮演着至关重要的角色,它允许用户创建、修改和备份数据库结构以及数据。SQL ...

Global site tag (gtag.js) - Google Analytics