Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server equivalente ao CREATE OR REPLACE VIEW da Oracle


As soluções acima, embora façam o trabalho, correm o risco de descartar as permissões do usuário. Prefiro fazer minhas visualizações de criação ou substituição ou procedimentos armazenados da seguinte maneira.
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