Общее определение хранимой процедуры включает в себя следующие части:
1. Имя хранимой процедуры.
СОЗДАТЬ ПРОЦЕДУРУ имя_процедуры
Или: Создайте процедуру имя_процедуры.
2. Параметры, входные параметры, выходные параметры.
@parameter_name1 int, //Определение входного параметра, включая имя, тип и длину
@parameter_name2= defual_value varchar(80) //Входной параметр со значением по умолчанию
@parameter_out int output //Выходные параметры
AS //Часть после as — это конкретное содержимое хранимой процедуры.
3. Определение внутреннего параметра, метод определения такой же, как в пункте 2, вам необходимо определить имя, тип и длину.
Объявить
@Parameter_inter1 интервал,
@Parameter_inter2 varchar(30)
4. Инициализируйте внутренние параметры:
Установите @Parameter_inter1 =5,
//Необходимые значения можно получить и сохранить во внутренних параметрах:
ВЫБЕРИТЕ @parameter_inter2=table.column ИЗ таблицы ГДЕ …….
5. Конкретные операторы операций обычно включают следующие операторы управления процессом (if else | select case | while):
===============Выберите ... CASE (несколько условий) Пример: ============
ОБЪЯВИТЬ @iRet INT, @PKDisp VARCHAR(20)
УСТАНОВИТЬ @iRet = '1'
Выберите @iRet =
СЛУЧАЙ
КОГДА @PKDisp = '一' ТОГДА 1
КОГДА @PKDisp = '二' ТОГДА 2
КОГДА @PKDisp = '三' ТОГДА 3
КОГДА @PKDisp = '四' ТОГДА 4
КОГДА @PKDisp = '五' ТОГДА 5
ЕЩЕ 100
КОНЕЦ
========== While (цикл) Пример: ====================
ОБЪЯВИТЬ @i INT
УСТАНОВИТЬ @i = 1
ПОКА @i<1000000
НАЧИНАТЬ
set @i=@i+1 //Изменить условия, сравнить
КОНЕЦ
-- Распечатать
ПЕЧАТЬ @i
============= Пример обработки If (одиночное условие): ================
IF @strTO<>'' //Условие
НАЧИНАТЬ
ОБНОВЛЕНИЕ НАБОРА ЕДИНИЦЫ UNIT_NAME=REPLACE(UNIT_NAME,'*','')
ГДЕ UNIT_CODE=@strTO
КОНЕЦ
ЕЩЕ НАЧАТЬ
ОБНОВЛЕНИЕ НАБОРА ЕДИНИЦЫ UNIT_NAME=UNIT_NAME+'*' WHERE UNIT_CODE='011'
КОНЕЦ
6. Наконец:
Идти
Используйте хранимую процедуру:
Выполнить имя_процедуры
С параметрами:
Выполнить имя_процедуры 'значение_параметра1','значение_параметра2_'
или:
Exec имя_процедуры paramerter1='parameter1_value',
параметр2 = 'параметр2_значение'
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/bestxulei/archive/2009/12/22/5053562.aspx.