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 6689 게시물 읽기
No. 6689
컬럼의 값 변수에 넣기
작성자
권용재(amadeusj)
작성일
2006-05-17 17:33
조회수
3,026

CREATE OR REPLACE FUNCTION TEST_INSERT(
/* INPUT */
PARAMINDEX2 int,
PARAMNAME1 varchar(256),
PARAMNAME2 varchar(256),
PARAMBINDATA1 bytea,
PARAMBINDATA2 bytea,
PARAMBINDATA3 bytea
/* OUTPUT */
)
returns void as
$BODY$
DECLARE
VARINDEX integer;
BEGIN


Select
Case When max(iIndex1) is null then
1 into VARINDE
else
VARINDEX = (max(iIndex1) + 1)

end
From DBClassTestTable;


insert into DBClassTestTable(
iIndex1, iIndex2, szName1, szName2, binData1, binData2, binData3
)values(
VARINDE, PARAMINDEX2, PARAMNAME1, PARAMNAME2, PARAMBINDATA1, PARAMBINDATA2, PARAMBINDATA3
);

END;
$BODY$
language plpgsql
;

 

DBClassTestTable 테이블에서가장큰 인덱스를 구해서 변수 값에 넣으려 하는데

select 문때문에 "returns void as" 에러가 나네요.

변수에 값만 넣어주면 되는데요...

어떻게 해야되죠..ㅠㅠ

이 글에 대한 댓글이 총 3건 있습니다.
Select into VARINDE
 (Case When max(iIndex1) is null then 1 else VARINDEX = (max(iIndex1) + 1) end) as foo

From DBClassTestTable;

로 해보심이? -.-

신기배(소타)님이 2006-05-17 19:25에 작성한 댓글입니다.

답변 감사합니다...

근데  "foo" 라는게 특별한의미가 있어서 해주신건가요?아님 그냥...

권용재(amadeusj)님이 2006-05-18 09:41에 작성한 댓글입니다.
이 댓글은 2006-05-18 09:54에 마지막으로 수정되었습니다.

혹시 안될지도 몰라서요 ㅋ;

신기배(소타)님이 2006-05-18 14:37에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6696PostgreSQL upgrade [5]
Andrew
2006-05-22
2875
6691PostgreSQL 업그레이드
Andrew
2006-05-18
2725
66908.1.4 릴리즈 임박과 신기한 현상;; [1]
신기배
2006-05-17
2806
6689컬럼의 값 변수에 넣기 [3]
권용재
2006-05-17
3026
6688insert 가 안됩니다... [2]
김상택
2006-05-17
2906
6687다국어 홈페이지 제작때문에 질문드립니다. [1]
남성식
2006-05-17
3161
6686pgpool 에 대하여. [3]
안중열
2006-05-17
3920
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다