sql >> Databasteknik >  >> RDS >> Sqlserver

Vad gör du i SQL Server för att SKAPA ELLER ÄNDRA?

Den här artikeln gör en bra poäng om att förlora behörigheter när ett objekt släpps i SQL-servern.

Så här är tillvägagångssättet som behåller behörigheter:

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

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

Fungerar även för funktioner, ersätt bara PROCEDURE med FUNCTION i ovanstående kod.

En annan anledning att överväga att göra det på detta sätt är tolerans mot misslyckande. Anta att din DROP lyckas, men din CREATE misslyckas - du slutar med en trasig DB. Genom att använda ALTER-metoden kommer du att få en äldre version av objektet.



  1. Få det totala antalet rader i sidnumreringsfrågan

  2. VÄLJ * FRÅN tabell WHERE kolumn =1,2,3,4

  3. ORA-01097

  4. Oracle:konvertera siffror till ord på andra språk än engelska