我今天一直在玩存储过程。我很激动,我很容易选择它的基础。 (我也会尽快尝试触发器。)
现在,我想知道如何在存储过程文件夹(Programmability - > Stored Procedure)下保存我的SPROC,以便我可以通过名称(最终来自我的C#应用程序)访问它。到目前为止,当我按下保存图标时,我建议保存整个查询。那不是我想要的。
感谢您的帮助
答案 0 :(得分:21)
您实际上必须运行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
请记住,在创建存储过程后,您必须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)
步骤: