Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server-Äquivalent zu CREATE OR REPLACE VIEW von Oracle

Die oben genannten Lösungen werden zwar die Arbeit erledigen, tun dies jedoch auf die Gefahr hin, dass Benutzerberechtigungen fallen gelassen werden. Ich ziehe es vor, Ansichten oder gespeicherte Prozeduren wie folgt zu erstellen oder zu ersetzen.

IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[vw_myView]'))
    EXEC sp_executesql N'CREATE VIEW [dbo].[vw_myView] AS SELECT ''This is a code stub which will be replaced by an Alter Statement'' as [code_stub]'
GO

ALTER VIEW [dbo].[vw_myView]
AS
SELECT 'This is a code which should be replaced by the real code for your view' as [real_code]
GO