Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите найти ошибку pls / 2 сообщений из 2, страница 1 из 1
07.09.2004, 13:23
    #32683141
yyy
yyy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку pls
добрый день,

не работает простейшая функция:

CREATE OR REPLACE FUNCTION create_obj(name varchar, hashcode int4) RETURNS int4 as'
DECLARE
idTmp OBJECT.ID%TYPE;
BEGIN
insert into OBJECT(NAME, NAME_HASH) values(name, hashcode);
idTmp := currval('SEQ_OBJ');
RETURN idTmp;
END;
'
LANGUAGE 'plpgsql' VOLATILE;


ERROR: syntax error at or near "$1"
помогите найти ошибку pls.

заранее спасибо!
...
Рейтинг: 0 / 0
07.09.2004, 15:10
    #32683533
mwolf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку pls
CREATE OR REPLACE FUNCTION create_obj( name varchar, hashcode int4 ) RETURNS int4 as'

А разве имена тут можно писать?
Обычно пишется так

CREATE OR REPLACE FUNCTION create_obj( varchar, int4 ) RETURNS int4 as'
DECLARE
idTmp OBJECT.ID%TYPE;
BEGIN
insert into OBJECT(NAME, NAME_HASH) values( $1, $2 );
idTmp := currval('SEQ_OBJ');
RETURN idTmp;
END;
'
LANGUAGE 'plpgsql' VOLATILE;
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите найти ошибку pls / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]