Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отличие функции от процедуры  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
Добрый день
подскажите все отличия функции от процедуры????
и возможно ли процедуру вызвать в select'е????
Спасибо
12 янв 06, 11:19    [2246614]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
Аленочка
Member

Откуда: Владик
Сообщений: 2169
Картинка с другого сайта. Аленочка тм

Процедуры выполняются через специальное право доступа - EXECUTE.
А вот функцию в SELECTе насколько мне известно вызвать можно.
12 янв 06, 11:23    [2246652]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
SQL2005go
Guest
и возможно ли процедуру вызвать в select'е????


вот в этом и отличие например что функцию можно а процедуру нет..

в свое время наличие функций стало решающим моментом смены
SQL 7 на 2000
12 янв 06, 11:23    [2246655]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
SQL2005go
Guest
А вот функцию в SELECTе насколько мне известно вызвать можно.



Select
dbo.functionname(@param1,@Paramm2) as Field
...
...
From TableName
12 янв 06, 11:24    [2246666]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
так отличие только в синтаксисе вызова??? Или есть какие более серьезные???
а почему тогда в функции не проходит GETDATE ( )????
12 янв 06, 11:26    [2246672]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
SQL2005go
Guest
а почему тогда в функции не проходит GETDATE ( )????


Это где непроходит?
пример вашего синтаксиса?
12 янв 06, 11:27    [2246680]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
mos
а почему тогда в функции не проходит GETDATE ( )????

Потому, что об этом написано в ограничениях UDF-ах. В CREATE FUNCTION
12 янв 06, 11:27    [2246685]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
в функции
например set @date_today=getdate()
12 янв 06, 11:28    [2246687]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
SQL2005go
Guest
так отличие только в синтаксисе вызова??? Или есть какие более серьезные???


Есть некоторые ограничения в вункциях.. небольшие но есть.

Но ФУНКЦИИ ОЧЕНБ МОЩНАЯ ШТУКА так как позволяет вызываться в селектах какобычные поля.
12 янв 06, 11:28    [2246694]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
SQL2005go
Guest
автор
в функции
например set @date_today=getdate()



Полный текст приведите функции которую вы пытаетесь написать
12 янв 06, 11:29    [2246698]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
declare @date_today datetime
set @date_today=getdate()
12 янв 06, 11:30    [2246705]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
а что такое UDF-ах.?????
12 янв 06, 11:31    [2246710]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
Glory
Member

Откуда:
Сообщений: 104760
mos
declare @date_today datetime
set @date_today=getdate()

BOL - CREATE FUNCTION - Function Determinism and Side Effects
12 янв 06, 11:31    [2246712]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
так хорошо, так каким способом получить сегодняшнюю дату в функции???
и у меня еще возник вопрос, может и глупый-а в функции можно вызвать процедуру?????
12 янв 06, 11:35    [2246739]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
2 mos

Настоятельно рекомендую Вам прежде чем задавать вопросы перечитать разделы BOL и FAQ на этом сайте.
12 янв 06, 11:37    [2246758]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
Аленочка
Member

Откуда: Владик
Сообщений: 2169
SQL2005go
А вот функцию в SELECTе насколько мне известно вызвать можно.



Select
dbo.functionname(@param1,@Paramm2) as Field
...
...
From TableName


да знаю я ...
12 янв 06, 11:45    [2246809]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
SQL2005go
Guest
так хорошо, так каким способом получить сегодняшнюю дату в функции???


да, действительно, GetDate в теле функции вызвать нельзя.. никогда я даже не пытался..
Как решение передать текущую дату параметром

Select 
dbo.functionname(@param1,GetDate(),@Param3) as Field
...
...
From TableName
12 янв 06, 12:01    [2246932]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
Serg Dzh
Member

Откуда:
Сообщений: 28
SQL2005go
так хорошо, так каким способом получить сегодняшнюю дату в функции???


да, действительно, GetDate в теле функции вызвать нельзя.. никогда я даже не пытался..
Как решение передать текущую дату параметром

Select 
dbo.functionname(@param1,GetDate(),@Param3) as Field
...
...
From TableName


Попробуй в функции написать
CURRENT_TIMESTAMP
12 янв 06, 12:08    [2246987]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
SQL2005go
Guest
автор
Попробуй в функции написать
CURRENT_TIMESTAMP


CURRENT_TIMESTAMP
Returns the current date and time. This function is equivalent to GETDATE().


непашет в функции.

параметром передать
12 янв 06, 12:14    [2247030]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
в FAQ кажется было... смысл - создать представление
CREATE VIEW uv_getdate
select getdate() as getdate

и использовать его в функции.
select @d = getdate from uv_getdate

отличия функции и процедуры не синтаксисе или ограничениях, а в назначении
12 янв 06, 12:33    [2247165]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
mos
Member

Откуда: Vilnius
Сообщений: 701
И что для чего использовать??? Какое назначение процедуры и функции
12 янв 06, 12:35    [2247174]     Ответить | Цитировать Сообщить модератору
 Re: Отличие функции от процедуры  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
2 mos

FAQ
12 янв 06, 12:40    [2247201]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить