Welcome to Sign in | Help

Re: (ne)relationare tabele

  •  10-26-2008, 11:40 PM

    Re: (ne)relationare tabele

    neo:

    Backup-ul full o data la 3 zile


    Pai fa restore, afla tabelele si FK cu ceva de genul ( nu pot verifica acum, dar trebuie sa mearga)

    SELECT
        FK_Table  = FK.TABLE_NAME,
        FK_Column = CU.COLUMN_NAME,
        PK_Table  = PK.TABLE_NAME,
        PK_Column = PT.COLUMN_NAME,
        Constraint_Name = C.CONSTRAINT_NAME ,
    "ALTER TABLE " + FK.TABLE_NAME + " ADD CONSTRAINT "  +  C.CONSTRAINT_NAME + " FOREIGN KEY (" + CU.COLUMN_NAME + ")" +
    "REFERENCES " + PK.TABLE_NAME+  "(" + PT.COLUMN_NAME + ")" as SQL


    FROM
        INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
        INNER JOIN
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK
            ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
        INNER JOIN
        INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK
            ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
        INNER JOIN
        INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU
            ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
        INNER JOIN
        (
            SELECT
                i1.TABLE_NAME, i2.COLUMN_NAME
            FROM
                INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1
                INNER JOIN
                INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2
                ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME
                WHERE i1.CONSTRAINT_TYPE = 'PRIMARY KEY'
        ) PT
        ON PT.TABLE_NAME = PK.TABLE_NAME
    ORDER BY
        1,2,3,4

    si apoi poti sa recreezi FK  copiind coloana SQL in baza ta( atentie - fa un backup mai intii ... si incearca pe un restore..)



    Ignat Andrei
    http://serviciipeweb.ro/iafblog
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems