Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Co robisz w SQL Server, aby TWORZYĆ LUB ZMIENIAĆ?

W tym artykule warto zwrócić uwagę na utratę uprawnień podczas upuszczania obiektu na serwerze SQL.

Oto podejście, które zachowuje uprawnienia:

IF OBJECT_ID('spCallSomething') IS NULL
    EXEC('CREATE PROCEDURE spCallSomething AS SET NOCOUNT ON;')
GO

ALTER PROCEDURE spCallSomething ... 
--instead of DROP/CREATE

Działa również dla funkcji, wystarczy zastąpić PROCEDURE z FUNCTION w powyższym kodzie.

Innym powodem, dla którego warto rozważyć zrobienie tego w ten sposób, jest tolerancja na niepowodzenie. Załóżmy, że Twój DROP się powiedzie, ale Twój CREATE nie powiedzie się - kończysz z uszkodzonym DB. Stosując podejście ALTER, otrzymasz starszą wersję obiektu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekazywanie wielu wartości do parametru funkcji w SQL

  2. Doświadczenie, kiedy używać OPTYMALIZUJ NA NIEZNANE

  3. Tabele SQL Server:jaka jest różnica między @, # i ##?

  4. Geografia i geometria SQL 2008 — z której korzystać?

  5. Jak pobrać obraz binarny z bazy danych za pomocą C# w ASP.NET?