database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 4442 게시물 읽기
No. 4442
처음으로 함수를 만들어봤는데...
작성자
이동주
작성일
2002-11-21 15:05
조회수
1,111

처음으로 함수를 사용해 보려고 함수를 만들었는데..

기능은 인자로 넘어온 문자열을 잘라내서

예를들어

ABCD 라는 인자가 넘어오면

ABC와 D를 분리해서(마지막 문자만 분리)

결과적으로 리턴되는 문자열은

ABCE가 되도록 하는 함수인데..

 

일단 만들어본 함수는 다음과 같습니다.

----------------------------------------------

CREATE FUNCTION get_string(varchar) RETURNS VARCHAR AS '

DECLARE

rStr ALIAS FOR;

cutChar char;

cutStr varchar;

iChar integer NOT NULL DEFAULT 0;

BEGIN

cutChar := substring(rStr, char_length(rStr));

cutStr := substring(rStr, 1, char_length(rStr) - 1);

iChar := ascii(cutChar) + 1;

 

IF iChar < 65 or iChar > 90 THEN

return NULL;

ELSE

return cutStr || chr(iChar);

END IF;

END;

 

' LANGUAGE 'plpgsql';

-----------------------------------------------

그런데 다음과 같은 에러가 나는데..

원인을 모르겠습니다.

고수님들 뭐가 잘못되었는지요...

NOTICE: plpgsql: ERROR during compile of get_string near line 2

ERROR: parse error at or near ";"

이 글에 대한 댓글이 총 4건 있습니다.

글을 올리면서 깨진게 아니라면 =_=;

rStr ALIAS FOR 뒤에 $1 이 붙어 있어야 하는데 보이지 않는군요?

저도 질문 =_=

char, varchar, iChar integer NOT NULL DEFAULT 0

이런식의 자료형이 plpgsql에서 가능한지요?

전 그냥 integer과 text 로만 했었는데 =_=..

신기배(nonun)님이 2002-11-21 17:35에 작성한 댓글입니다.

rStr ALIAS FOR;에서

rStr ALIAS FOR ;

이렇게 FOR와 ; 사이에 공백을 넣으라는 이야기 이신지...

그러다면 그렇게 해도 똑같은 에러가...

그리고

자료형에 대해서는 메뉴얼에는 SQL에서 사용되는 모든 자료형을 사용할 수 있다라고 되어있군요..

이동주님이 2002-11-22 10:11에 작성한 댓글입니다.

임시로 해결하기는 했는데..

그냥 넘어오는 인자를 바로 사용했습니다..

rStr := $1 이렇게요..

ALIAS FOR ;가 들어간 함수는 모두 같은 에러가 나는군요..

이유를 모르겠습니다..

혹시 포스트그래스를 다시 설치해야 하는지요..

이동주님이 2002-11-22 15:36에 작성한 댓글입니다.

저도 ALIAS FOR 를 사용하면 에러가 나고 그랬었는데요

그냥 그렇게 쓰고 있습니다 -_-; 따로 설치하실 필요까지는..?

신기배(nonun)님이 2002-11-22 15:37에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4447[질문] mysql의 limit (Select 시 갯수 제한) 과 같은 기능을 하는 연산자. [1]
이근호
2002-11-27
1147
4448┕>Re: [질문] mysql의 limit (Select 시 갯수 제한) 과 같은 기능을 하는 연산자.
이근호
2002-11-28 09:35:25
941
4444[질문]현재 설치된 postgres의 설치시 설정내용 보는 방법은? [1]
김백
2002-11-22
835
4443initdb 에서 에러가 납니다.
김종화
2002-11-22
885
4442처음으로 함수를 만들어봤는데... [4]
이동주
2002-11-21
1111
4441check에서 다른 테이블의 필드값을 참조할 수 있는가요. [1]
김일권
2002-11-19
849
4440postgresql을 사용하기위한 python 모듈을 어디서 구할 수있나요 [2]
dasida
2002-11-18
807
4439혹시 postgres와 java로 컨넥션풀링해보신분 자료좀.. [1]
박기원
2002-11-18
924
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다