토토 사이트 9.1.24 문서 | ||||
---|---|---|---|---|
사설 토토 : 문서 : 9.1 : PL/TCL의 데이터 값 | up | 40 장. pl/tcl -tcl 절차 언어 | PostgreSQL : 문서 : 9.1 : PL/젠 토토에서 젠 토토 액세스 |
때로는 보유 된 일부 전역 데이터를 갖는 것이 유용합니다. 함수에 대한 두 호출 사이에 또는 다른 사이에 공유됩니다. 기능. 이것은 PL/TCL에서 쉽게 수행되지만 일부가 있습니다. 이해해야 할 제한.
보안상의 이유로 PL/TCL은 어떤 기능을 수행합니다 해당 역할에 대한 별도의 TCL 통역사에서 하나의 SQL 역할. 이것 한 사용자가 우발적이거나 악의적 인 간섭을 방지합니다 다른 사용자의 PL/TCL 기능의 동작. 각각 통역사는 모든 것에 대한 자체 값을 갖습니다"글로벌"tcl 변수. 따라서, 2 개의 PL/TCL 기능 동일한 글로벌 변수를 공유하는 경우 동일한 SQL 역할에 의해 실행됩니다. 단일 응용 프로그램에서 세션은 여러 SQL 역할에서 코드를 실행합니다 (via보안 정의기기능, 사용역할 설정등) 명시 적 단계를 수행해야 할 수도 있습니다 PL/TCL 기능이 데이터를 공유 할 수 있도록합니다. 그렇게하려면 만들어주십시오 의사 소통 해야하는 기능은 동일하게 소유합니다. 사용자, 표시보안 정의기. 물론 그러한 기능은 익숙해 질 수 없도록주의해야합니다. 의도하지 않은 일을하십시오.
세션에 사용 된 모든 pl/tclu 함수는 동일하게 실행됩니다. TCL 통역사, 물론 PL/TCL 기능에 사용되는 통역사. 글로벌 데이터입니다 PL/TCLU 함수간에 자동으로 공유됩니다. 이것은 아닙니다 모든 PL/TCLU 기능이 실행되기 때문에 보안 위험으로 간주됩니다 같은 신뢰 수준, 즉 데이터베이스 슈퍼 사용자의 것입니다.
의도하지 않게 PL/TCL 기능을 보호하는 데 도움이됩니다
서로 방해하면 글로벌 배열을 사용할 수 있습니다.
를 통한 각 기능upvar
명령. 이 변수의 글로벌 이름은 함수입니다
내부 이름과 로컬 이름은gd.
권장됩니다gd기능의 지속적인 개인 데이터. 일반 TCL 글로벌을 사용하십시오
당신이 구체적으로 의도하는 값에 대해서만 변수
여러 기능 중 공유. (GD배열은 특정 내에서만 글로벌입니다
통역사이므로 보안 제한을 우회하지 않습니다
위에서 언급했습니다.)
사용의 예GDSPI_EXECP
아래 예제.