Kori 8월 18일, 2022에 포스트됨 공유하기 8월 18일, 2022에 포스트됨 Docwiki에 있는 "Ad-hoc Subscriptions and SQL Language Support"을 번역한 글(최종 번역일: 2022년 8월 18일) << 위로 가기: 체인지 뷰스 (Change Views) 체인지 뷰스 (Change Views)를 임시로 구독하려면 애드-혹(ad-hoc) 구독(subscription)을 사용한다. 애드-혹 구독은 연결이 지속되는 동안 실행된다. 사용자는 이름을 가진 (named) 구독이 아니라 원하는 스키마 오브젝트를 직접 구독할 수 있다. 이 임시 구독은 해당 데이터베이스 연결이 종료될 때까지 유효하다. 하지만 연결이 유지되는 동안이라도 사용자가 명시적으로 비활성화면 더이상 유효하지 않다. 아래 예문은 체인지 뷰스 (Change Views)를 지원하기 위해 재작성된 ISQL 명령-줄 (command-line) 도구(유틸리티)를 보여준다. 사용자는 해당 스키마 오브젝트 (예: 테이블)에 대한 임시 구독 특권(privilege)을 받아야만 한다. 임시 구독 권한 부여 (GRANT TEMPORARY SUBSCRIBE) GRANT TEMPORARY SUBSCRIBE 문장 구성 GRANT TEMPORARY SUBSCRIBE[(<필요한 컬럼들을 쉼표로 구분하여 나열>)] ON <테이블_이름> TO <사용자_이름>; REVOKE TEMPORARY SUBSCRIBE[(<필요한 컬럼들을 쉼표로 구분하여 나열>)] ON <테이블_이름> FROM <사용자_이름>; 해당 사용자는 SET SUBSCRIPTION 명령(command)을 발행한다. 이때 구독(subscription) 이름 대신 기반 테이블의 이름을 직접 제공한다. ISQL을 사용하여 데이터 변경 뷰(들)을 받기(RETRIEVE) SET SUBSCRIPTION "Employees" ACTIVE; SELECT NAME, DEPARTMENT, SALARY FROM "Employees"; COMMIT; <또 다른 사용자가 기존 직원을 다른 부서로 재배치한다. 그리고 또 다른 직원은 급여를 인상한다> SELECT NAME, DEPARTMENT, SALARY FROM "Employees"; <CHANGE> NAME DEPARTMENT SALARY update joe sales 50000 update mary finance 75000 SET SAME; SELECT NAME, DEPARTMENT, SALARY FROM "Employees"; <CHANGE> NAME DEPARTMENT SALARY update <same> sales <same> update <same> <same> 75000 COMMIT; SET SUBSCRIPTION "Employees" INACTIVE; ISQL에는 SET 진술(statement)들의 모음이 있어서, 표시할(display) 결과 세트를 토글(toggle)할 수 있다. SET SAME 표시 토글은 해당 컬럼의 데이터 값을 보여 줄 것인지 아니면 변경되지 않는 데이터를 <same>으로 표시하고 변경된 데이터만 해당 값을 표시할 것이지를 왔다갔다 할 수 있다. <CHANGE> 컬럼은 의사(pseudo) 컬럼이며 여기에는 해당 컬럼의 값을 변경한 DML 진술의 유형이 표시된다. 이 변경 상태 모두는 새 구조인 XSQLDA의 멤버인 XSQLVAR.SQLIND에 의해서 반환된다. 데이터 변경 뷰를 지원하기 위해 인터베이스 SQL (ISQL)에 IS SAME 또는 IS NOT SAME 절이 추가되었다. 아래 예문을 참조: IS NOT SAME을 SELECT 쿼리(query) 안에서 사용하기 <SELECT NAME, DEPARTMENT, SALARY FROM "Employees" WHERE SALARY IS NOT SAME; <CHANGE> NAME DEPARTMENT SALARY update mary finance 75000 위 예문의 결과를 보면 joe에 대한 행이 반환되지 않았다. 그 이유는 joe의 경우 부서만 이동했을 뿐 급여 조정이 없었기 때문이다. 다음 단계 (Advance To) 체인지 뷰스 요구사항과 제약사항 (Change Views Requirements and Constraints) 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.