Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ALTER TABLE w CREATE PROCEDURE
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
temat
Muszę wyczyścić tabelę [Pozostawiając przy tym wartość pId w innych tabelach]

1. Wywalam FK_Publishers_Books
2. Czyszczę to świństwo
3. Wstawiam FK_Publishers_Books

Oczywiście wiem że tak nie należy robić exclamation.gif!

Wiem że w MySQL było coś w stylu EXEC IMMEDIATE '[treść sql-a]'

  1. -- PUBLISHERS
  2. ALTER PROCEDURE clearPublishers
  3. AS BEGIN TRANSACTION
  4. ALTER TABLE dbo.Books
  5. DROP CONSTRAINT FK_Publishers_Books
  6.  
  7. TRUNCATE TABLE dbo.Publishers
  8.  
  9. ALTER TABLE dbo.Books
  10. ADD CONSTRAINT FK_Publishers_Books
  11. FOREIGN KEY (pId)
  12. REFERENCES dbo.Publishers (pId)
  13. ON UPDATE CASCADE
  14. COMMIT TRANSACTION
  15. GO


Znacie jakieś obejście ?
Zbłąkany
Nie wiem czy nie pomyliłeś czasem for, bo temat jest na Microsoft SQL Server, a w poście piszesz o MySQL winksmiley.jpg Na całe szczęście ta komenda:
  1. TRUNCATE TABLE nazwa_tabeli;

jest taka sama dla obu tych systemów bazodanowych tongue.gif . Usuwanie danych z tabeli jest natychmiastowe i nieodwołalne, nie może być odwołane przez ROLLBACK, wyjątkiem jest MySQL, który pozwala na odzyskanie danych poprzez ROLLBACK dla tabel typu InnoDB smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.