이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 42.4. PL/토토 꽁 머니의 글로벌 데이터버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

37.4. PL/TCL의 글로벌 데이터

때로는 일부 전역 데이터를 보유하는 것이 유용합니다. 함수에 대한 두 호출 사이에 또는 다른 사이에 공유됩니다. 기능. 이것은 토토 사이트/TCL에서 쉽게 수행되지만 일부가 있습니다. 이해해야 할 제한.

보안상의 이유로 토토 사이트/TCL은 어떤 기능을 수행하는 기능을 실행합니다 해당 역할에 대한 별도의 TCL 통역사에서 하나의 SQL 역할. 이것 한 사용자가 우발적이거나 악의적 인 간섭을 방지합니다 다른 사용자의 토토 사이트/TCL 기능의 동작. 각각 통역사는 모든 것에 대한 자체 값을 갖습니다"글로벌"tcl 변수. 따라서, 2 개의 토토 사이트/TCL 기능 동일한 글로벌 변수를 공유하는 경우 동일한 SQL 역할에 의해 실행됩니다. 단일 응용 프로그램에서 세션은 여러 SQL 역할에서 코드를 실행합니다 (viaSecurity Definer기능, 사용역할 설정등) 명시 적 단계를 수행해야 할 수도 있습니다 토토 사이트/TCL 기능이 데이터를 공유 할 수 있도록합니다. 그렇게하려면 만들어주십시오 의사 소통 해야하는 기능은 동일하게 소유합니다. 사용자, 표시보안 정의기. 물론 그러한 기능은 익숙해 질 수 없도록주의해야합니다. 의도하지 않은 일을하십시오.

세션에 사용 된 모든 토토 사이트/tclu 함수는 동일하게 실행됩니다. TCL 통역사, 물론 토토 사이트/TCL 기능에 사용되는 통역사. 글로벌 데이터입니다 토토 사이트/TCLU 함수간에 자동으로 공유됩니다. 이것은 아닙니다 모든 토토 사이트/TCLU 기능이 실행되기 때문에 보안 위험으로 간주됩니다 같은 신뢰 수준, 즉 데이터베이스 슈퍼 사용자의 것입니다.

의도하지 않게 토토 사이트/TCL 기능을 보호하는 데 도움이됩니다 서로 방해하면 글로벌 배열을 사용할 수 있습니다. 를 통한 각 기능upvar명령. 이 변수의 글로벌 이름은 함수입니다 내부 이름과 로컬 이름은GD. 권장됩니다gd기능의 지속적인 개인 데이터. 일반 TCL 글로벌을 사용하십시오 당신이 구체적으로 의도하는 값에 대해서만 변수 여러 기능 중 공유. (gd배열은 특정 내에서만 글로벌입니다 통역사이므로 보안 제한을 우회하지 않습니다 위에서 언급했습니다.)

사용의 예gdSPI_EXECP아래 예제.