Как сохранить сохраненную процедуру?
Сегодня я играл с хранимыми процедурами. Я растолстел, что я выбрал основное из них так легко. (Я также попробую триггеры очень скоро).
Теперь я хотел бы знать, как сохранить мой 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.