CREATE FUNCTION, CREATE PROCEDURE , ALTER FUNCTION, ALTER PROCEDURE, DROP FUNCTION, DROP PROCEDURE.
При создании функции указывается тип возвращаемого значения и в теле функции обязательно задается команда RETURN, за которой следует выражения для вычисления возвращаемого значения. В теле процедуры использование команды RETURN(конечно, без последующего выражения) вовсе не обязательно. Когда этой команды нет, выход из процедуры будет происходить после исполнения последней команды процедуры.
Тело, как функции, так и хранимой процедуры начинается ключевым словом AS.
Поскольку каждая из них храниться как отдельный объект, то для указания конца тела не требуется записывать какое-либо специальное ключевое слово или знак. За командами создания функции или хранимой процедуры перечисляются имена параметров, начинающиеся с символа @, и их типы, а также важно значение по умолчанию. Для функции этот список заключается в круглые скобки, после которых
записывается ключевое слово RETURNS (возвращает) и тип возвращаемого значения. Для хранимой процедуры круглые скобки не используются, и задавать тип возвращаемого значение не требуется. Для тела функции часто используют ключевое слово begin после ключевого слова as и ключевое слово end в конце тела. Дополнительные опции функции или хранимой процедуры задаются ключевым словом with до начала тела. Например, опция encryption позволяет зашифровать исходный текст функции или хранимой процедуры и сделать его, таким образом, нечитабельным. Опция функции schemabinding запрещает производить какие-либо изменения в объектах базы данных. Опция хранимой процедуры recompile обеспечивает повторную компиляцию исходного текста процедуры при каждом её вызове. Наконец, опция FOR REPLICATION указывает, что данная хранимая процедура будет использоваться при репликации данных. При создании однотипных хранимых процедур можно использовать для них одно групповое имя. В этом случае конкретная процедура в группе идентифицируется своим номером, который должен задаваться как при создании, так и при вызове процедуры сразу же после группового имени и отделяться от него точкой с запятой.
Функции и хранимые процедуры можно создавать также с помощью Enterprise Manager, а хранимые процедуры еще и с помощью мастера Create Stored Procedure Wisard.
В SQL Server можно создавать функции трех классов:
–Scalar – возвращают обычное скалярное значение;
–Inline – возвращают таблицу динамической структуры, создаваемую единственной командой тела функции SELECT;
–Multi – statement – возвращает обычную таблицу заданной структуры, при этом количество команд в теле функции не ограничивается.
Достарыңызбен бөлісу: |