如何在Oracle7中删除表列? 是的,是的。。。我的客户端仍使用该版本:Oracle7 Server版本7.3.4.5.0
或者...如何在Oracle7 Server版本7.3.4.5.0中将列数据类型从Varchar2更改为Long ...
答案 0 :(得分:1)
我的解决方案:
--1. Create a clone table.
CREATE TABLE tableA_aux
AS
SELECT *
FROM tableA;
/
-- 2. Alter table to accept null values (if is not nullable)
ALTER TABLE tableA MODIFY text varchar2(2000);
-- 3. Clear table column
UPDATE tableA
SET text = NULL;
COMMIT;
-- 4. Alter datatype to VARCHAR2 -> LONG
ALTER TABLE tableA MODIFY text LONG;
--5. Update the column with original values
UPDATE tableA s
SET s.text =
(SELECT a.text
FROM tableA_aux a
WHERE a.PK_ID = s.PK_ID);
COMMIT;