2009-11-12 59 views
-1

我是oracle新手。我在oracle中创建了一个表,我想更新那些没有任何内容的列的表格。我想要表格中的所有列。如何做到这一点?任何人都可以解释我吗?如何更新oracle中的单个表?

问候,

拉曼

+0

你想在代码中获得表结构吗? – Dani 2009-11-12 07:26:52

+0

我认为他想要这个计划......但是这个解释不好。 – RageZ 2009-11-12 07:34:11

+0

你的意思是ALTER TABLE? – 2009-11-12 07:47:20

回答

0

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

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

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中的所有列才能正常工作。没有捷径可以说“在t2中的任何东西都是NULL”。最接近你可以做的就是使用查询来帮助编写你的查询:

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