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 6793 게시물 읽기
No. 6793
Trigger 질문입니다.
작성자
이호택(gumgak77)
작성일
2006-07-31 10:06
조회수
3,315

DBMS(PgSQL) --> Func(C) --> Server

 

위와 같은 구성으로 만들어야 된다는 가정하에.

 

예를 들어서 DBMS에서 Insert, Delete, Update등이 발생하였을때

 

Trigger를 이용해서 외부의 func(C)에게 변경된 정보를 전달해주고

 

func이 다시 정보를 적절하게 변경해서 server에게 전달을 해주려고 합니다.

 

분명히 가능하긴 할것 같은데 trigger관련 예제를 보면 외부함수가 호출되는건지

 

에 대한 부분은 설명도 없고 예제도 없는 것 같아서 여기에 질문드립니다.

 

일단은 가능은 한지. 그리고 가능하다면 어떤 방법을 써야되는지 간단한 설명이나 참조할 사이트

 

알려주시면 감사하겠습니다...

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

C로 짜신다면 가능할 것도 같습니다.

예전에는 pl/perl 로는 보안상의 문제로 소켓을 연다거나 하는 동작이 불가했었습니다. 소스를 고쳐서 억지로 되게 해도 서버가 죽어버렸었는데 C로 하면 이게 가능할지도..

대신 C로 만든 함수를 트리거로 매달면 함수의 코드나 동작에 문제가 있으면 DB 갱신 작업이 안됩니다.

신기배(소타)님이 2006-07-31 10:43에 작성한 댓글입니다.

C로 짜서 소켓으로 보내니 되네요. 감사합니다.

질문하나 더 하겠습니다. 위와같은 구성에서 Trigger가 발생(Insert, Update)하였을때 변경된 테이블을 얻어오고 싶습니다.

이럴경우에 Trigger발생 -> DB에 접속 -> 테이블 얻어오기

방식으로 하려고 하는데

Trigger라는게 자동 트랜잭션 개념으로 알고있기 때문에 Update된 정보가 아닌 그 전 정보를 가져오는 것으로 알고있습니다.

그럼 새로이 Update된 정보를 얻어오기 위해선 Trigger가

아닌 다른 방법을 사용해야 하는지요.

변경된 tuple을 주긴 하는데 테이블을 얻어 왔으면 해서 질문드립니다.

이호택(gumgak77)님이 2006-08-01 09:24에 작성한 댓글입니다.
이 댓글은 2006-08-01 09:25에 마지막으로 수정되었습니다.

update -> trigger 발생 -> DB에 접속 -> table 조회

이렇게 되면 이 update 된 정보는 못 받아오는게 맞겠죠? ㅎ;

테이블을 읽고 트리거가 주는 old, new 를 조합하시거나 하셔야 할 것 같습니다.

어떤 작업인지 몰라도 동접이 몰리면 큰일날 것 같네요 ㅎㅎ;

신기배(소타)님이 2006-08-01 13:08에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6801pgadmin3 에대해서 [1]
이민우
2006-08-08
3773
6800백업에 대한 질문입니다. [1]
궁금이
2006-08-06
3489
6794안녕하세요. 초보질문입니다 (__) [1]
justin
2006-08-01
3154
6793Trigger 질문입니다. [3]
이호택
2006-07-31
3315
6792reindex 문의.. [2]
김명범
2006-07-30
3363
6791jdbc 한글 [1]
vortex
2006-07-27
3374
6790PL/TCL , PL/PYTHON [1]
rotor
2006-07-27
3406
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다