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

Откуда:
Сообщений: 275
Привет всем!

помогите создать и прменить функцию в SQLserver 2000
которая переводит цифры в прописную

код функции:

https://www.sql.ru/faq/faq_topic.aspx?fid=445


Выдает следующую ошибку при создании функции

Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near 'function'.
Server: Msg 137, Level 15, State 1, Line 7
Must declare the variable '@Num'.
Server: Msg 178, Level 15, State 1, Line 7
A RETURN statement with a return value cannot be used in this context.
Server: Msg 137, Level 15, State 1, Line 7
Must declare the variable '@Num'.
Server: Msg 178, Level 15, State 1, Line 9
A RETURN statement with a return value cannot be used in this context.
Server: Msg 137, Level 15, State 1, Line 9
Must declare the variable '@Num'.
Server: Msg 137, Level 15, State 1, Line 11
Must declare the variable '@Num'.
Server: Msg 137, Level 15, State 1, Line 11
Must declare the variable '@Num'.
Server: Msg 137, Level 15, State 1, Line 34
Must declare the variable '@IsMaleGender'.
Server: Msg 178, Level 15, State 1, Line 61
A RETURN statement with a return value cannot be used in this context.
1 окт 09, 15:20    [7730226]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
select @@version покажите свой.
1 окт 09, 15:24    [7730262]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
talich2005
Member

Откуда:
Сообщений: 275
Гавриленко Сергей Алексеевич,

Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
1 окт 09, 15:26    [7730276]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
Теперь покажите то, что вы запустить пытаетесь.
1 окт 09, 15:27    [7730284]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
talich2005
Member

Откуда:
Сообщений: 275
Гавриленко Сергей Алексеевич,

CREATE function RubPhrase (@Value money)
returns varchar(255)
as
begin
  declare @rpart bigint, @rattr tinyint,  @cpart tinyint, @cattr tinyint
  set @rpart=floor(@Value)     set @rattr=@rpart%100
  if @rattr>19 set @rattr=@rattr%10
  set @cpart=(@Value-@rpart)*100
  if @cpart>19 set @cattr=@cpart%10 else set @cattr=@cpart
  return dbo.NumPhrase(@rpart,1)+' рубл'
           +case when @rattr=1 then 'ь' when @rattr in (2,3,4) then 'я' else
'ей' end+' '
           +right('0'+cast(@cpart as varchar(2)),2)+' копе'
           +case when @cattr=1 then 'йка' when @cattr in (2,3,4) then 'йки'
else 'ек' end
end



GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO


Сообщение было отредактировано: 1 окт 09, 15:43
1 окт 09, 15:38    [7730366]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
И где же переменные @Num и @IsMaleGender, упоминающиеся в сообщениях об ошибках?
1 окт 09, 15:43    [7730407]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
talich2005
Member

Откуда:
Сообщений: 275
извините

вот ошибка


Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near 'function'.
Server: Msg 137, Level 15, State 1, Line 6
Must declare the variable '@Value'.
Server: Msg 137, Level 15, State 1, Line 8
Must declare the variable '@Value'.
Server: Msg 178, Level 15, State 1, Line 16
A RETURN statement with a return value cannot be used in this context.
1 окт 09, 15:46    [7730426]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
Compatibility level какой у базы?
1 окт 09, 15:48    [7730441]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
talich2005
Member

Откуда:
Сообщений: 275
какой командой это можно узнать?
1 окт 09, 15:49    [7730461]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
talich2005
какой командой это можно узнать?
В свойствах базы правой кнопкой посмотрите.
1 окт 09, 15:50    [7730474]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
talich2005
Member

Откуда:
Сообщений: 275
70
1 окт 09, 15:52    [7730481]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
talich2005
70
Тогда есть одно объяснение - в семерке не было функций.
1 окт 09, 15:53    [7730499]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
talich2005
Member

Откуда:
Сообщений: 275
что же теперь делать? мне просто нужно приментить эту функцию
1 окт 09, 15:56    [7730523]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
Glory
Member

Откуда:
Сообщений: 104760
talich2005
что же теперь делать? мне просто нужно приментить эту функцию

Ну а зачем вы поставили своей базе уровень SQL7, где не было функций ?
1 окт 09, 15:57    [7730531]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
talich2005
Member

Откуда:
Сообщений: 275
думаю лучше создать новую базу совсем только для этой функции с 80 compab
1 окт 09, 16:02    [7730556]     Ответить | Цитировать Сообщить модератору
 Re: помогите создать и прменить функцию в SQLserver 2000  [new]
vino
Member

Откуда:
Сообщений: 1191
talich2005
думаю лучше создать новую базу совсем только для этой функции с 80 compab
использовать эту функцию на семерошной БД все-равно не получится
1 окт 09, 16:25    [7730727]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить