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 674 게시물 읽기
No. 674
Re: [참고] 회사에서 만들어본 pl 함수입니다.
작성자
정재익
작성일
2000-03-06 23:23
조회수
10,989

정말 기본적인 PL 함수 작성법에 도움이 될만한 예제입니다.

그냥 PL 강좌를 하나 하는게 어떨까요. :/)

 

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

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

> (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
10740
694┕>Re: [질문] 솔라리스 7에서 최대 Backend의 수를 높이려면 ??
정재익
2000-03-08 23:09:44
11497
675[긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
이영욱
2000-03-07
10712
676┕>Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
정재익
2000-03-07 18:31:40
11597
678 ┕>Re: Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
이영욱
2000-03-07 18:53:04
11246
679  ┕>Re: Re: Re: [긴급질문]백업시 자료가 일부.....(찾아보고 해도 안됨....)
정재익
2000-03-07 20:42:30
11771
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
10959
671[질문] SELECT CASE WHEN --- ERROR
최진백
2000-03-06
10586
672┕>Re: [질문] SELECT CASE WHEN --- ERROR
정재익
2000-03-06 23:17:36
11605
669[참고] 회사에서 만들어본 pl 함수입니다.
신현호
2000-03-06
10633
674┕>Re: [참고] 회사에서 만들어본 pl 함수입니다.
정재익
2000-03-06 23:23:54
10989
667pgsql 의 복구 문제
선장
2000-03-03
10498
668┕>Re: pgsql 의 복구 문제
정재익
2000-03-05 09:54:04
11798
665드뎌 solaris에 install을 했습니다.
이현주
2000-03-02
8966
666┕>Re: 드뎌 solaris에 install을 했습니다.
정재익
2000-03-02 22:37:24
9611
661mdopen ERROR (table drop 후에 발생)
안재석
2000-03-02
9126
663┕>원인을 안것 같기도 하네요.. 그리고 한가지 질문 더..(속도에 대하여..)
안재석
2000-03-02 15:12:28
9650
673 ┕>Re: 원인을 안것 같기도 하네요.. 그리고 한가지 질문 더..(속도에 대하여..)
정재익
2000-03-06 23:22:48
9817
684  ┕>Re: Re: 원인을 안것 같기도 하네요.. 그리고 한가지 질문 더..(속도에 대하여..)
안재석
2000-03-08 11:36:28
9823
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.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다