Home » SQL & PL/SQL » SQL & PL/SQL » ALTER TABLE COMMAND
ALTER TABLE COMMAND [message #2152] Tue, 25 June 2002 01:29 Go to next message
Sati
Messages: 3
Registered: June 2002
Junior Member
I'm changing the nullable flag to NULL on user_tab_columns but the command does
not work. It doesn't do anything at all. If I use the command produced manually
then it works.

This is the script I've created.

SPOOL SEL11.SQL
SELECT 'ALTER TABLE '||A.TABLE_NAME||' MODIFY ('||A.COLUMN_NAME||' NULL);'
FROM USER_TAB_COLUMNS A,OFILEDEF B
WHERE A.TABLE_NAME=B.FLN AND A.COLUMN_NAME=B.FVNM AND B.FLDT <> 'AK'AND
SUBSTR(A.TABLE_NAME,1,2) = 'R_';
commit;
SPOOL OFF;

This is the result the Start command produces

'ALTERTABLE'||A.TABLE_NAME||'MODIFY('||A.COLUMN_NAME||'NULL);'
------------------------------------------------------------------
ALTER TABLE R_DC002F MODIFY (R_DC002F_MODULE NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_EXCEPTION NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_DISCREP_TAG_PRINTED NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_SERIAL_NUM NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_MRB_DISP NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_BOM_USEQ NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_SCHED_ITEM NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_SCHED_REV NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_RP_SCHED NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_ORIG_REC_QTY NULL);
ALTER TABLE R_DC002F MODIFY (R_DC002F_CSO_FLAG NULL);

If I actually type ALTER TABLE R_DC002F MODIFY (R_DC002F_MODULE NULL); then it
works.

Any chance anyone could tell me what I'm doing wrong.
Re: ALTER TABLE COMMAND [message #2156 is a reply to message #2152] Tue, 25 June 2002 02:22 Go to previous message
Mahesh Rajendran
Messages: 10707
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
you cannot manipulate any system table or view.
user*, dba* etc.
the correct method is the issue alter table commands only
Previous Topic: Re: Question
Next Topic: EXISTS
Goto Forum:
  


Current Time: Fri Apr 19 19:11:54 CDT 2024