Как сохранить хранимую процедуру? - PullRequest
13 голосов
/ 19 апреля 2010

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

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

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

Ответы [ 4 ]

22 голосов
/ 19 апреля 2010

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

6 голосов
/ 19 апреля 2010

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

0 голосов
/ 19 апреля 2010

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

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

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

0 голосов
/ 19 апреля 2010

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

CREATE PROCEDURE TestSP
AS
SELECT GETDATE() AS MyDate
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...