如何保存存储过程?

时间:2010-04-19 19:40:21

标签: sql sql-server-2008

我今天一直在玩存储过程。我很激动,我很容易选择它的基础。 (我也会尽快尝试触发器。)

现在,我想知道如何在存储过程文件夹(Programmability - > Stored Procedure)下保存我的SPROC,以便我可以通过名称(最终来自我的C#应用​​程序)访问它。到目前为止,当我按下保存图标时,我建议保存整个查询。那不是我想要的。

感谢您的帮助

5 个答案:

答案 0 :(得分:21)

您实际上必须运行CREATE PROCEDURE命令才能构建存储过程。

Create Procedure - MSDN

这是一个直接来自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

请记住,在创建存储过程后,您必须Right Click -> Refresh存储过程文件夹才能显示新过程。

我还建议将* .sql文件保存在某处,以便在某处需要CREATE PROCEDURE脚本,以防再次运行。

答案 1 :(得分:5)

你必须实际运行create proc语句。

答案 2 :(得分:0)

您需要运行CREATE PROCEDURE命令 尝试使用这个简单的存储过程示例:

CREATE PROCEDURE TestSP
AS
SELECT GETDATE() AS MyDate
GO

答案 3 :(得分:0)

基于OP的评论:

  

我使用EXEC命令运行它   工作。当我没有看到SPROC   在Stored Procedure文件夹下,我   虽然我没有创造它。所以我试过了   再次创造它,但有人告诉我   那个具有相同名称的对象   已存在。我想我能够   创造它。但是,为什么它不可见   在可编程性下 - >存储   程序文件夹?

首次运行存储过程CREATE PROCEDURE....时,可能需要刷新SSMS中的存储过程列表。右键单击然后刷新。

答案 4 :(得分:0)

步骤:

  1. 在查询窗口中写存储过程命令。
  2. 运行查询
  3. 刷新整个数据库而不是存储过程文件夹。
  4. 您将看到存储过程的名称。 :)