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 4730 게시물 읽기
No. 4730
PL/SQL을 쓰려면 무얼? 쌩초보여요..ㅠ.ㅠ
작성자
박휘준(switnet)
작성일
2003-05-27 10:03
조회수
1,412

초본데여..

PL/SQL 야기가 많이 있는뎅...

이게 무어죠?

글구 이걸 쓸려면여?

모가 필요하고 그건 어디서 구하는 건지..

댕기다 댕기다 PL/SQL에 대한 건 대충 감이 잡히는데..

흑흑.. 초보는 지금 힘들구 지치고..

도와주세요.. 고수님덜..

그리고 미리 감사의 절을 드립니다....... 꾸우~~뻑...

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

sql 프로시져 언어라고 하지요.

 

rdbms 내부에서 사용할 수 있는 프로그램 언어로서 rdbms의 기본 sql 만으로는 원하는 작업을 할 수 없을때, 방법은 두가지겠지요.

 

1. 응용프로그램이 그 일을 하든지,

2. rdbms 서버가 그 일을 해서 결과를 응용프로그램으로 넘겨주든지.

 

바로 2.번 역활을 하는 언어입니다.

 

예를 들어서 두개의 텍스트 배열 필드가 있다고 가정했을 때,

그 자료가 한 필드는 {"저자", "역자"} 이고, 다른 필드는 {"어거스틴", "성염"} 경우에,

만일을 응용프로그램에서 {"저자:어거스틴", "역자:성염"} 이런식으로 표현해야할 경우에,

 

select concat_textarr(f1,f2) from ....

이런식의 함수가 하나 있으면 응용프로그램이 무진장 가벼워지겠지요. 이때, concat_textarr(text[], text[]) 함수를 하나 만들어야하는데, 이때, plpgsql 언어를 사용하면 편합니다. 물론 plpython, 이나, plperl 로도 가능하기도 하겠지요.

 

또 한 예로 트리거를 들지요.

트리거란 특정 테이블에 자료가 삽입/변경/삭제 되었을 경우에, 다른 테이블에도(물론 그 자신의 다른 필드일 수도 있습니다) 그 변경에 따라 자료가 변경되어야할 경우에 사용하는 기능입니다.

 

매출테이블이 있고, 일매출통계테이블이 있을 경우에, 매출테이블에 자료가 입력되면, 일매출통계테이블을 해당 날의 자료를 업데이트해야겠지요.

 

이럴때, 응용프로그램 이것을 구현한다는 것은 바람직하지 않습니다. (자료 무결성을 해치는 위험성이 많습니다) 그래서, 트리거를 사용하지요. 이 트리거 기능을 plgsql 언어로 구현합니다.

 

자세한 것은 http://database.sarang.net/database/postgres/plpgsql/ch24.html 문서를 참조하셔도 좋을 것같습니다. 좀 오래된 문서인지라. 아무튼 최신 정보는 메뉴얼을 참조하시고.

김상기(ioseph)님이 2003-05-27 12:17에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4733인덱스에 대한 몇가지 질문 [1]
Operator
2003-05-30
2004
47327.3.2에서 Tuple 사이즈 에러 [2]
초본데염
2003-05-27
1201
4731[질문]분산 트랜잭션 지원 여부...... [1]
김현성
2003-05-27
1357
4730PL/SQL을 쓰려면 무얼? 쌩초보여요..ㅠ.ㅠ [1]
박휘준
2003-05-27
1412
4729[질문] table 생성권한이요.. [1]
박성곤
2003-05-26
1429
4725plpgsql에서 select한 결과물 얻어오는 방법? [1]
디짓
2003-05-25
1616
4722원격 백업시 패스워드 인증 문제 [2]
김묵훈
2003-05-23
1692
4723┕>Re: 원격 백업시 패스워드 인증 문제 [1]
zetop
2003-05-24 07:26:57
1572
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다