Quando si generano gli script di creazione dello schema SQL manualmente di solito si chiama semplicemente "Crea procedura ...", tuttavia noto che quando si genera lo script utilizzando l'opzione Attività/Genera script viene utilizzato "spexecutesql @statement = .." ad es.Perché SQL Server genera stored procedure utilizzando l'istruzione sp_executesql con stringa?
EXEC dbo.sp_executesql @statement = N'-- =============================================
-- Author: Me
-- Create date: 20/03/2009
-- Description: Does stuff
-- =============================================
CREATE PROCEDURE [dbo].[MyProc]
-- Add the parameters for the stored procedure here
@StartDate datetime
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
...
END
'
Perché è questo? Si tratta di conservare commenti? Grazie
Non sono sicuro che sia vero. Scrivo spesso le protezioni di tipo "SE NON ESISTE" e non eseguo gli script usando sp_executesql –
Sono abbastanza sicuro che l'approccio non funzionerà per Alter e crea relativi alle stored procedure –