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

43.4. PL/토토 사이트 추천의 글로벌 데이터

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

보안상의 이유로, PL/토토 사이트 추천은 해당 역할에 대해 별도의 토토 사이트 추천 통역사에서 하나의 SQL 역할로 호출 된 기능을 실행합니다. 이렇게하면 한 사용자가 다른 사용자의 PL/토토 사이트 추천 기능의 동작으로 우발적이거나 악의적 인 간섭을 방지합니다. 그러한 통역사는 각각의 자체 값을 가질 것입니다글로벌tcl 변수. 따라서 두 개의 PL/TCL 함수는 동일한 SQL 역할에 의해 실행되는 경우에만 동일한 글로벌 변수를 공유합니다. 단일 세션이 여러 SQL 역할에서 코드를 실행하는 응용 프로그램에서Security Definer함수, 사용역할 설정등) pl/토토 사이트 추천 함수가 데이터를 공유 할 수 있도록 명시적인 조치를 취해야 할 수도 있습니다. 그렇게하려면 통신 해야하는 기능이 동일한 사용자가 소유하고 있는지 확인하고 표시하십시오보안 정의기. 물론 그러한 기능은 의도하지 않은 일을하는 데 익숙하지 않도록주의해야합니다.

SESSION에 사용 된 모든 PL/TCLU 기능은 동일한 TCL 통역사에서 실행됩니다. 물론 PL/TCL 기능에 사용되는 통역사와는 다릅니다. 따라서 글로벌 데이터는 PL/TCLU 기능간에 자동으로 공유됩니다. 모든 PL/TCLU 기능이 동일한 신뢰 수준, 즉 데이터베이스 슈퍼업자의 기능에서 실행되기 때문에 보안 위험으로 간주되지 않습니다.

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

사용의 예gdSPI_EXECP아래 예.