때때로 함수에 대한 두 호출 사이에 보관되거나 다른 함수 간에 공유되는 일부 전역 데이터를 갖는 것이 유용합니다. 이는 PL/메이저 토토 사이트에서 쉽게 수행되지만 이해해야 할 몇 가지 제한 사항이 있습니다.
보안상의 이유로 PL/메이저 토토 사이트은 해당 역할에 대한 별도의 메이저 토토 사이트 해석기에서 하나의 SQL 역할에 의해 호출되는 함수를 실행합니다. 이는 한 사용자가 다른 사용자의 PL/메이저 토토 사이트 기능 동작을 우발적으로 또는 악의적으로 간섭하는 것을 방지합니다. 이러한 각 통역사는 모든 항목에 대해 고유한 값을 갖습니다.“글로벌”메이저 토토 사이트 변수. 따라서 두 PL/메이저 토토 사이트 함수는 동일한 SQL 역할에 의해 실행되는 경우에만 동일한 전역 변수를 공유합니다. 단일 세션이 여러 SQL 역할에서 코드를 실행하는 애플리케이션에서(via보안 정의자함수, 사용역할 설정등) PL/메이저 토토 사이트 함수가 데이터를 공유할 수 있도록 명시적인 조치를 취해야 할 수도 있습니다. 그러기 위해서는 통신해야 하는 기능이 동일한 사용자의 소유인지 확인하고 표시하세요.보안 정의자. 물론 이러한 기능을 사용하여 의도하지 않은 작업을 수행할 수 없도록 주의해야 합니다.
세션에 사용되는 모든 PL/메이저 토토 사이트U 함수는 동일한 메이저 토토 사이트 해석기에서 실행됩니다. 이는 물론 PL/메이저 토토 사이트 함수에 사용되는 해석기와는 다릅니다. 따라서 전역 데이터는 PL/메이저 토토 사이트U 기능 간에 자동으로 공유됩니다. 모든 PL/메이저 토토 사이트U 기능은 동일한 신뢰 수준, 즉 데이터베이스 수퍼유저의 신뢰 수준에서 실행되므로 이는 보안 위험으로 간주되지 않습니다.
PL/Tcl 기능이 의도하지 않게 서로 간섭하는 것을 방지하기 위해 다음을 통해 각 기능에 전역 배열을 사용할 수 있습니다.upvar명령. 이 변수의 전역 이름은 함수의 내부 이름이고, 로컬 이름은GD. 다음을 권장합니다.GD함수의 영구 개인 데이터에 사용됩니다. 여러 함수 간에 공유하려는 값에 대해서만 일반 메이저 토토 사이트 전역 변수를 사용하세요. (참고GD배열은 특정 인터프리터 내에서만 전역이므로 위에서 언급한 보안 제한 사항을 우회하지 않습니다.)
사용 예GD에 나타남spi_execp아래 예.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.