如何在oracle中更新单个表?

时间:2009-11-12 07:23:04

标签: oracle

我是oracle的新手。我在oracle中创建了一个表我希望用所有列更新那些没有任何内容的表..我想要那个表中的所有列。怎么做?有人可以解释一下吗?

此致

拉​​曼

3 个答案:

答案 0 :(得分:0)

DESC表名? 我不明白你想要什么...(更新没有任何内容的表?)

答案 1 :(得分:0)

describe your_table_name;

应该像这样打印表格方案:

Name                                        Null?    Type
 ------------------------------------------- -------- -------------

 EMPLOYEE_ID                                 NOT NULL NUMBER(6)
 SALARY                                       NUMBER(8,2)
 HIRE_DATE                                   NOT NULL DATE
 TERMINATION_DATE                             DATE
 TERMINATION_DESC                             VARCHAR2(4000)

您可以看到一些示例there

答案 2 :(得分:0)

我认为你的意思是你要将整个行从一个表(称之为T1)插入另一个表(称之为T2),其中行中的任何地方都有NULL。是吗?

INSERT INTO t2
SELECT *
FROM   t1
WHERE  t1.col1 IS NULL
OR     t1.col2 IS NULL
OR     t1.col3 IS NULL

...等......不幸的是,您需要手动命名t1中的所有列才能使其正常工作。没有捷径可以说“什么东西IN t2 IS NULL”。您最接近的方法是使用查询来帮助编写查询:

SELECT 'OR t1.' || column_name || ' IS NULL' || chr(10)
FROM   all_tab_columns
WHERE  owner = 'DATA_TABLE_OWNER'
AND    table_name = 'T1';