我是oracle的新手。我在oracle中创建了一个表我希望用所有列更新那些没有任何内容的表..我想要那个表中的所有列。怎么做?有人可以解释一下吗?
此致
拉曼
答案 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';