메이저 토토 사이트 9.3.25 문서 | ||||
---|---|---|---|---|
토토 사이트 추천 : 문서 : 9.3 : 내장 토토 사이트 추천 | PostgreSQL : 문서 : 9.3 : PL/배트맨 토토 -배트맨 토토 절차 언어 | CHAPTER 42. PL/PERL - Perl Prossural Language | PostgreSQL : 문서 : 9.3 : 신뢰하고 무지개 토토 수없는 pl/perl |
당신은 글로벌 해시를 사용할 수 있습니다%_sharedto 코드 참조를 포함한 저장 데이터는 함수 간격간에 현재 세션의 수명.
공유 데이터에 대한 간단한 예는 다음과 같습니다.
함수 생성 또는 교체 set_var (이름 텍스트, val 텍스트) 텍스트를 $$로 반환합니다. if ($ _shared $ _ [0] = $ _ [1]) 'OK'를 반환합니다. 또 다른 return "공유 변수 $ _ [0]까지 $ _ [1]을 설정할 수 없습니다.";
코드를 사용하는 약간 더 복잡한 예입니다. 참조:
function myfuncs ()를 만들거나 바꾸십시오 $ _shared myquote = sub 내 $ arg = shift; $ arg = ~ s/([ '\\])/\\ $ 1/g; " '$ arg'"를 반환합니다. ; $$ 언어 plperl; myfuncs ()를 선택하십시오. / * 함수 초기화 */ / * 견적 함수를 사용하는 함수 설정 */ function use_quote (텍스트)를 $$로 반환합니다 내 $ text_to_quote = shift; 내 $ qfunc = $ _shared myquote; return & $ qfunc ($ text_to_quote); $$ 언어 plperl;
(위를 One-Liner로 대체 할 수 있습니다return $ _shared myquote- ($ _ [0]);비용으로 가독성의.)
보안상의 이유로 PL/PERL은 어떤 기능을 수행하는 기능을 실행합니다 해당 역할에 대한 별도의 PERL 통역사에서 하나의 SQL 역할. 이것 한 사용자가 우발적이거나 악의적 인 간섭을 방지합니다. 다른 사용자의 PL/PERL 기능의 동작. 그러한 통역사 자체 가치가%_shared변수 그리고 다른 글로벌 주. 따라서 두 개의 PL/PERL 함수가 공유합니다 동일한 값의%_shared경우에만 동일한 SQL 역할에 의해 실행됩니다. a 단일 세션은 여러 SQL 역할에서 코드를 실행합니다 (viaSecurity Definer기능, 사용역할 설정등) 가져 가야 할 수도 있습니다 PL/PERL 기능이 데이터를 통해 데이터를 공유 할 수 있도록하는 명시 적 단계%_shared. 그렇게하려면 그것을 확인하십시오 의사 소통 해야하는 기능은 동일한 사용자가 소유하고 있으며 표시Security Definer. 당신은 코스는 그러한 기능이 무엇이든하는 데 사용될 수 없다는 것을 조심하십시오. 의도하지 않은.
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
내장 기능 | PostgreSQL : 문서 : 9.3 : PL/배트맨 토토 -배트맨 토토 절차 언어 | 신뢰하고 신뢰할 수 없습니다 pl/perl |