Как сохранить сохраненную процедуру?

Сегодня я играл с хранимыми процедурами. Я растолстел, что я выбрал основное из них так легко. (Я также попробую триггеры очень скоро).

Теперь я хотел бы знать, как сохранить мой SPROC в папке хранимой процедуры (Programmability → Stored Procedure), чтобы я мог получить к нему доступ по имени (в конечном счете, из моего приложения С#). Пока, когда я нажимаю значок сохранения, я предлагаю сохранить весь запрос. Это не то, что я хочу.

Спасибо за помощь

Ответ 1

Вам действительно нужно запустить команду 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 script где-нибудь, если вам нужно снова запустить.

Ответ 2

вы должны фактически запустить инструкцию create proc.

Ответ 3

Вам нужно запустить команду CREATE PROCEDURE.
Попробуйте этот простой пример хранимой процедуры:

CREATE PROCEDURE TestSP
AS
SELECT GETDATE() AS MyDate
GO

Ответ 4

На основе комментария OP:

Я запустил его с помощью команды EXEC, и он работал. Когда я не видел SPROC в папке Сохраненная процедура, я хотя я его не создал. Поэтому я попробовал чтобы создать его снова, но мне сказали что объект с тем же именем уже существует. Думаю, я смог создать это. Но почему это не видно по Программируемости → Хранилище Папка процедур?

При первом запуске хранимой процедуры CREATE PROCEDURE.... вам может потребоваться обновить список хранимых процедур в SSMS. Щелкните правой кнопкой мыши, затем нажмите кнопку REFRESH.