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 7219 게시물 읽기
No. 7219
[질문] 통계를 위한 트리거(Trigger)
작성자
눈물
작성일
2007-09-18 11:58ⓒ
2007-09-18 12:11ⓜ
조회수
5,187

안녕하세요.

다름이 아니라, 간단한 통계 테이블을 만들어서 트리거를 적용하려고 합니다.

아직 초보이다보니 어떻게 만들어야할지 잘 몰라서 질문을 드립니다.

테이블은,


CREATE TABLE client_tb
(
    "client_id" INTEGER NOT NULL,
    "client" TEXT NOT NULL
WITHOUT OIDS;


CREATE TABLE product_property_tb
(
    "product_property_id" INTEGER NOT NULL,
    "client_id" INTEGER NOT NULL,
    "product_property" TEXT NOT NULL
WITHOUT OIDS;


CREATE TABLE product_tb
(
    "product_id" INTEGER NOT NULL,
    "product_property_id" INTEGER NOT NULL,
    "product" TEXT NOT NULL
WITHOUT OIDS;


에서,


CREATE TABLE count_tb
(
    "client_id" INTEGER NOT NULL,
    "daily_date" TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL,
    "insert_count" INTEGER DEFAULT 0 NOT NULL,
    "delete_count" INTEGER DEFAULT 0 NOT NULL,
    "total_count" INTEGER DEFAULT 0 NOT NULL,

) WITHOUT OIDS;


라는 통계용 테이블을 만들었습니다.

여기에다가, 아래의 항목들을 트리거를 이용해서 적용시키고 싶습니다.



--------------------------------------------------------------------------

1. product_tb 라는 상품 테이블이 존재하며, product_property_tb 와 조인해서 client_id 를
얻을 수 있습니다.

2. product_tb 라는 테이블에서, 아이템이 등록되거나, 삭제될 때, 
product_tb 와 product_property_tb 를 조인해서 client_id 를 구한 후, 
현재 날짜로 count_tb 에 인서트 또는 업데이트를 실시합니다.

3. 만약 현재의 날짜로 이미 인서트 되어있는 상태인 경우, 업데이트를 실시합니다.

--------------------------------------------------------------------------



이와 같은 액션을 트리거로 적용시킬 수 있을까요?

미리 감사의 말씀 드립니다.

읽어주셔서 감사합니다. (_ _)

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

의사코드가 분명하네요.

특별히 주의해야할 부분도 없습니다. 

하나씩 차근하게 해보세요.


준비한 트리거 함수를

product_tb 테이블에서 자료가 insert 되거나 delete 될 때 그 트리거 함수가 작동되도록 설정하면 되겠네요.


설마 그 트리거 함수를 만들어 달라고 하지는 않으시겠죠?

김상기(ioseph)님이 2007-09-19 13:15에 작성한 댓글입니다.

상기님 답변 감사합니다.

이곳에서 감색해보며, 문서를 보며 열씸히 만들어보고는 있습니다만,

SQL 과 프로그램 코드만으로 전부 처리해 왔던 저에게는

상당히 난해하네요.

간단한 형태라도 힌트를 얻을 수 없을까요. T-T

답변 감사드립니다.

눈물님이 2007-09-19 13:51에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7226윈도우즈에 설치하려는데
초보
2007-09-20
5157
7225plpgsql에서 테이블을 인자로 넣을 수 없나요? [1]
심상호
2007-09-19
5043
7220PostgreSQL publishes first real benchmark
최정대
2007-09-18
5460
7219[질문] 통계를 위한 트리거(Trigger) [2]
눈물
2007-09-18
5187
7218pg_restore 애러 질문입니다 [1]
PG짱
2007-09-12
5438
7216pg_ctl이 실행이 안되요 ㅜㅜ [1]
차차월드
2007-09-10
6113
7215PostgreSQL Weekly News
신기배
2007-09-10
5902
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.029초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다