Sql 如何保存存储过程?
我今天一直在玩存储过程。我很激动,因为我很容易就学会了它的基本原理。(我也将很快尝试触发器) 现在,我想知道如何将存储过程保存在存储过程文件夹(Programmability->storageprocedure)下,以便按名称访问它(最终从我的C#应用程序)。到目前为止,当我按下save图标时,建议我保存整个查询。那不是我想要的Sql 如何保存存储过程?,sql,sql-server-2008,Sql,Sql Server 2008,我今天一直在玩存储过程。我很激动,因为我很容易就学会了它的基本原理。(我也将很快尝试触发器) 现在,我想知道如何将存储过程保存在存储过程文件夹(Programmability->storageprocedure)下,以便按名称访问它(最终从我的C#应用程序)。到目前为止,当我按下save图标时,建议我保存整个查询。那不是我想要的 感谢您的帮助您必须实际运行CREATEPROC语句 实际上,您必须运行CREATE PROCEDURE命令,以便生成存储过程 以下是直接从MSDN页面获得的示例: U
感谢您的帮助您必须实际运行CREATEPROC语句 实际上,您必须运行
CREATE PROCEDURE
命令,以便生成存储过程
以下是直接从MSDN页面获得的示例:
USE AdventureWorks;
GO
-- If procedure exists already, drop it
IF OBJECT_ID ( 'HumanResources.uspGetAllEmployees', 'P' ) IS NOT NULL
DROP PROCEDURE HumanResources.uspGetAllEmployees;
GO
-- Create (or Re-create) the procedure
CREATE PROCEDURE HumanResources.uspGetAllEmployees
AS
SET NOCOUNT ON;
SELECT LastName, FirstName, JobTitle, Department
FROM HumanResources.vEmployeeDepartment;
GO
请记住,创建存储过程后,必须右键单击->刷新
存储过程文件夹,才能显示新过程
我还建议将*.sql文件保存在某个地方,以便在某个地方有创建过程脚本,以防需要再次运行。您需要运行命令。
请尝试以下简单的存储过程示例:
CREATE PROCEDURE TestSP
AS
SELECT GETDATE() AS MyDate
GO
根据OP的评论:
我已经使用EXEC命令运行了它,并且
工作。当我没有看到狂欢的时候
在存储过程文件夹下,我
虽然不是我创造的。所以我试过了
我想再创造一次,但有人告诉我
使用相同名称的对象
已经存在了。我想我能做到
创造它。但是,为什么它不可见呢
在可编程性-->下存储
程序文件夹
首次运行存储过程CREATE procedure…
时,可能需要刷新SSMS中的存储过程列表。右键单击然后刷新。步骤:
在查询窗口中编写存储过程命令
运行查询
刷新整个数据库,而不是存储过程文件夹
您将看到存储过程名称。:)李>
@Mladen Prajdic:我已经使用EXEC命令运行了它,它工作了。当我没有看到存储过程文件夹下的存储过程时,我认为我没有创建它。所以我尝试再次创建它,但我被告知同名的对象已经存在。我想我能创造它。但是,为什么它在Programmability-->存储过程文件夹下不可见?@Richard77,您需要点击刷新按钮才能看到它。突出显示存储过程文件夹,然后单击“刷新”,您应该会看到它。SQLServerManagementStudio(可能还有服务器资源管理器)不会自动刷新。@JustinNiesser(以及所有人):谢谢,它成功了。然而,很抱歉,我没有得到你的推荐。我需要将创建过程脚本保存在某个地方,以防我需要再次运行什么?存储过程?我是否需要在每次需要使用时都创建它?您不需要在每次使用时都创建它,但如果您需要修改它或重建数据库,备份它会很好。您还可以继续使用*.sql文件进行更改并删除/重新创建过程,而不是运行ALTER PROCEUDRE命令。尼尔森:我明白您的意思了。此外,.sql文件应该在源代码管理中,因此您可以在应用程序的其余更改中部署它。