【问题标题】:How to create table from another table with passing NULL values to a column?如何从另一个表创建表并将 NULL 值传递给列?
【发布时间】:2017-09-24 21:23:05
【问题描述】:

我正在尝试使用CREATE AS SELECT 创建一个表,我想在其中将NULL 值传递给col3

main的结构:

SQL> desc main
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
col1                                       NOT NULL NUMBER(10)
col2                                                VARCHAR2(15)
col3                                                BLOB
col4                                                VARCHAR2(15)

我尝试了以下两种方法:

方法一:

CREATE TABLE temp
(   
col1, col2, col3, col4
) AS
SELECT 
col1, col2, NULL, col4
FROM main;

方法二:

CREATE TABLE temp
(   
col1, col2, col3, col4
) AS
SELECT 
col1, col2, 'NULL', col4
FROM main;

在方法 2 中,我的 col3 数据类型从 BLOB 更改为 CHAR(4)

我想用一个命令创建temp表并保持数据类型与表保持一致NULLcol3的值

【问题讨论】:

    标签: database oracle oracle10g ddl


    【解决方案1】:

    对于 BLOB,您应该使用 EMPTY_BLOB 而不是 NULL

    SQL> desc main;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     COL1                                      NOT NULL NUMBER(10)
     COL2                                               VARCHAR2(15)
     COL3                                               BLOB
     COL4                                               VARCHAR2(15)
    
    SQL> create table temp ( col1, col2, col3, col4)
      2  as select col1, col2, empty_blob(), col4
      3  from main;
    
    Table created.
    
    SQL> desc temp;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     COL1                                      NOT NULL NUMBER(10)
     COL2                                               VARCHAR2(15)
     COL3                                               BLOB
     COL4                                               VARCHAR2(15)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      • 2018-04-14
      • 1970-01-01
      • 2015-05-13
      相关资源
      最近更新 更多