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 669 게시물 읽기
No. 669
[참고] 회사에서 만들어본 pl 함수입니다.
작성자
신현호
작성일
2000-03-06 09:30
조회수
10,634

말그대로 참고 밖에는 안되는 겁니다만...

회사에서 시간을 쪼개어 끄적여 본 겁니다.

(7.0 베타 지우고 6.5.3으로 다시 설치하다...

아, 울고 싶다.)

 

create table Atom (

Alias text,

Full_Name text not null,

Note text,

DWG_Name text,

Material text

);

 

create table Atom_0 (

Code char(21) unique,

Erase bool default 'f'

) INHERITS(Atom);

 

create function tg_atom_0_bi() returns opaque as '

declare

intLT int;

begin

SELECT SUBSTR(MAX(code),18,4) INTO intLT FROM atom_0

WHERE code LIKE SUBSTR(NEW.code,1,17) || ''%'';

 

if intLT ISNULL then

intLT := 0;

end if;

NEW.code := substr(NEW.code,1,17) || lpad(intLT::int + 1, 4, ''0'');

 

insert into atom_man_0 (code) values (NEW.code);

return NEW;

end;

' Language 'plpgsql';

 

create trigger tg_atom_0_bi before insert on atom_0

for each row execute procedure tg_atom_0_bi();

 

21자리 코드중에 전반부 18자리가 동일하다면

나머지 4자리를 카운트 되도록 하는 함수이며

insert 가 발생하기 전에 작동하는 트리거입니다.

시퀸스를 사용할 수가 없기 때문에 만들어진 거죠.

함수 중간에 다른 테이블의 데이터를 추가하는

부분이 나오는데 이것은 단순이 이런 방법도 있다

는 정도록 생각하십시오.

 

pl의 깊은 곳까지 들어갔다고는 할 수는 없지만

간단하게 사용할만한 것들이 모여있는 함수입니다.

 

인천의 나사 풀린 산호...

[Top]
No.
제목
작성자
작성일
조회
681[질문] 솔라리스 7에서 최대 Backend의 수를 높이려면 ??
김점수
2000-03-08
10741
694┕>Re: [질문] 솔라리스 7에서 최대 Backend의 수를 높이려면 ??
정재익
2000-03-08 23:09:44
11498
675[긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
이영욱
2000-03-07
10713
676┕>Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
정재익
2000-03-07 18:31:40
11599
678 ┕>Re: Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
이영욱
2000-03-07 18:53:04
11248
679  ┕>Re: Re: Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
정재익
2000-03-07 20:42:30
11772
680   ┕>Re: Re: Re: Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
이영욱
2000-03-08 10:08:33
12010
691    ┕>Re: Re: Re: Re: Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
정재익
2000-03-08 22:55:01
11546
698     ┕>Re: Re: Re: Re: Re: Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
이영욱
2000-03-09 13:36:28
10961
671[질문] SELECT CASE WHEN --- ERROR
최진백
2000-03-06
10590
672┕>Re: [질문] SELECT CASE WHEN --- ERROR
정재익
2000-03-06 23:17:36
11606
669[참고] 회사에서 만들어본 pl 함수입니다.
신현호
2000-03-06
10634
674┕>Re: [참고] 회사에서 만들어본 pl 함수입니다.
정재익
2000-03-06 23:23:54
10991
667pgsql 의 복구 문제
선장
2000-03-03
10500
668┕>Re: pgsql 의 복구 문제
정재익
2000-03-05 09:54:04
11798
665드뎌 solaris에 install을 했습니다.
이현주
2000-03-02
8967
666┕>Re: 드뎌 solaris에 install을 했습니다.
정재익
2000-03-02 22:37:24
9615
661mdopen ERROR (table drop 후에 발생)
안재석
2000-03-02
9128
663┕>원인을 안것 같기도 하네요.. 그리고 한가지 질문 더..(속도에 대하여..)
안재석
2000-03-02 15:12:28
9650
673 ┕>Re: 원인을 안것 같기도 하네요.. 그리고 한가지 질문 더..(속도에 대하여..)
정재익
2000-03-06 23:22:48
9819
684  ┕>Re: Re: 원인을 안것 같기도 하네요.. 그리고 한가지 질문 더..(속도에 대하여..)
안재석
2000-03-08 11:36:28
9827
690   ┕>Re: Re: Re: 원인을 안것 같기도 하네요.. 그리고 한가지 질문 더..(속도에 대하여..)
정재익
2000-03-08 22:53:36
9488
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다