Added to TODO. Thanks.
> Bruce Momjian wrote:
> >
> > Is there a TODO item here?
>
> Yes. It should read:
>
> "Disallow TRUNCATE TABLE on tables that are parents of a referential
> integrity constraint"
>
> In PostgreSQL current sources I can do:
>
> CREATE TABLE employees (
> employeeid INTEGER PRIMARY KEY NOT NULL
> );
>
> CREATE TABLE salaries (
> employeeid INTEGER NOT NULL REFERENCES employees(employeeid),
> salary FLOAT NOT NULL
> );
>
> INSERT INTO employees VALUES (1);
>
> INSERT INTO salaries VALUES (1, 45000);
>
> TRUNCATE TABLE employees;
>
> SELECT * FROM salaries;
>
> employeeid | salary
> ------------+--------
> 1 | 45000
> (1 row)
>
> In Oracle, the following occurs:
>
> CREATE TABLE employees (
> employeeid INTEGER NOT NULL PRIMARY KEY
> );
>
> CREATE TABLE salaries (
> employeeid INTEGER NOT NULL REFERENCES employees(employeeid),
> salary FLOAT NOT NULL
> );
>
> INSERT INTO employees VALUES (1);
>
> INSERT INTO salaries VALUES (1, 40000);
>
> TRUNCATE TABLE employees;
>
> TRUNCATE TABLE employees;
> *
> ERROR at line 1:
> ORA-02266: unique/primary keys in table referenced by enabled
> foreign keys
>
> Mike Mascari
> mascarm@mascari.com
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026