当我手动生成sql架构创建脚本时,我通常只调用'Create Procedure ...',但是我注意到当你使用Tasks/Generate Scripts选项生成脚本时,它使用'spexecutesql @statement = ..',例如
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
'
Run Code Online (Sandbox Code Playgroud)
为什么是这样?是保留评论吗?谢谢
Mic*_*ren 22
它与评论无关.只有当你告诉它"包括IF NOT EXISTS"时才会这样做.原因是它只能以编程方式包含或排除对象(如果它们是动态执行的).
您可以通过在Options\SQL Server Object Explorer\Scripting中选择"False"来禁用此存储过程 - 检查对象是否存在.
| 归档时间: |
|
| 查看次数: |
9023 次 |
| 最近记录: |