Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: why cant i do this?? any clues on how i should go about
On 8 Aug 2006 09:42:30 -0700, "Vinay Bhushan" <bhushanvinay_at_gmail.com>
wrote:
>DECLARE
> v_userTabColumns INT;
>BEGIN
>
> SELECT COUNT(*) INTO v_userTabColumns
> FROM USER_TAB_COLUMNS
> WHERE TABLE_NAME ='T'
> AND COLUMN_NAME ='ABCD';
>
> IF v_userTabColumns >0 THEN
> DBMS_OUTPUT.PUT_LINE ('<<ABCD>><<T>> already Exists');
> ELSE
> ALTER TABLE T ADD (ABCD VARCHAR2(50));
> DBMS_OUTPUT.PUT_LINE ('New column <<ABCD>> for <<t>>
>created.');
> END IF;
>
>
>
>END;
ALTER TABLE is a DDL statement. DDL statements need e
EXECUTE IMMEDIATE '<statement>'
However, IMO, ALTERing a table in PL/SQL is a *VERY BAD IDEA*.
-- Sybrand Bakker, Senior Oracle DBAReceived on Tue Aug 08 2006 - 12:11:25 CDT