Я играл сегодня с хранимыми процедурами. Меня топят, что я взял основной из него так легко. (Я также попробую триггеры очень скоро).
Теперь, я хотел бы знать, как сохранить мой SPROC под папкой хранимой процедуры (Программируемость-> Хранимая процедура) так, чтобы я мог получить доступ к нему по имени (в конечном счете из моего приложения C#). До сих пор, когда я нажимаю значок сохранения, я предложен для сохранения целого запроса. Это не то, что я хочу.
Спасибо за помощь
На самом деле вам нужно запустить команду 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
Помните, что после создания хранимой процедуры вам нужно будет щелкнуть правой кнопкой мыши -> Обновить
папку хранимых процедур. для появления новой процедуры.
Я бы также посоветовал сохранить где-нибудь файл * .sql, чтобы у вас был где-нибудь скрипт CREATE PROCEDURE
на случай, если вам нужно будет запустить его снова.
На основании комментария OP:
Я запустил его с помощью команды EXEC, и он сработал. Когда я не увидел SPROC в папке хранимых процедур, я хотя и не создавал его. Поэтому я попытался создать его снова, но мне сказали , что объект с таким же именем уже существует. Думаю, мне удалось создать его. Но почему он не отображается в папке "Программируемость -> Сохраненная процедура"?
При запуске хранимой процедуры СОЗДАТЬ ПРОЦЕДУРУ ....
для в первый раз вам может потребоваться обновить список хранимых процедур в SSMS. Щелкните правой кнопкой мыши, затем ОБНОВИТЬ.
, вы должны фактически запустить оператор create proc.
Вам необходимо выполнить команду CREATE PROCEDURE .
Попробуйте использовать этот простой пример хранимой процедуры:
CREATE PROCEDURE TestSP
AS
SELECT GETDATE() AS MyDate
GO