| 젠 토토 : 문서 : 9.6 : 젠 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.6 : 외국 메이저 토토 사이트 만들기 | 토토 사이트 순위 PostgreSQL : 문서 : 9.6 : SQL 명령 | 롤 토토 : 문서 : 9.6 : 그룹 만들기 | |
사설 토토 사이트 생성 [ 또는 교체 ]이름 ( [ [ argmode ] [ argname ] argtype[  기본 | =default_expr] [, ...] ] )
    [ 반품재입력| 반환 테이블(컬럼_이름 열_유형[, ...] ) ]
   언어la사설 토토 사이트_name| 유형에 대한 변환유형_이름[, ... ]
    | 창
    |  불변 | 안정적 | 휘발성 
    | [ 아님 ] 누출 방지
    |  NULL 입력 시 호출됨 | NULL 입력 시 NULL 반환 | 엄격 
    |  [ 외부 ] 보안 호출자 | [ 외부 ] 보안 정의자 
    | 병렬  안전하지 않음 | 제한됨 | 안전함 
    | 비용execution_cost| 행결과_행| 설정configuration_parameter받는 사람값 | = 값| 현재부터 
    | 그대로 '정의'
    | 그대로 'obj_file', 'link_symbol'
   ...
    [ 와 (속성 [, ...] ) ]함수 생성새 기능을 정의합니다.함수 생성 또는 교체새 함수를 생성하거나 기존 정의를 대체합니다. 함수를 정의하려면 사용자에게 다음이 있어야 합니다.사용언어에 대한 권한입니다.
스키마 이름이 포함되면 함수는 지정된 스키마에 생성됩니다. 그렇지 않으면 현재 스키마에 생성됩니다. 새 함수의 이름은 동일한 스키마에서 동일한 입력 인수 유형을 가진 기존 함수와 일치하면 안 됩니다. 그러나 서로 다른 인수 유형의 함수는 이름을 공유할 수 있습니다.오버로딩).
기존 함수의 현재 정의를 바꾸려면 다음을 사용하십시오.함수 생성 또는 교체. 이 방법으로 함수의 이름이나 인수 유형을 변경하는 것은 불가능합니다(만약 시도한다면 실제로는 새로운 별개의 함수를 생성하게 될 것입니다). 또한,함수 생성 또는 교체기존 함수의 반환 유형을 변경할 수 없습니다. 그렇게 하려면 함수를 삭제하고 다시 생성해야 합니다. (사용시아웃매개변수, 즉 어떤 유형도 변경할 수 없음을 의미합니다.아웃함수 삭제를 제외한 매개변수.)
언제함수 생성 또는 교체은 기존 함수를 대체하는 데 사용되며 함수의 소유권과 권한은 변경되지 않습니다. 다른 모든 기능 속성에는 명령에 지정되거나 암시된 값이 할당됩니다. 이를 대체하려면 함수를 소유해야 합니다(여기에는 소유 역할의 구성원이 되는 것도 포함됩니다).
함수를 삭제한 후 다시 생성하면 새 함수는 이전 함수와 동일한 개체가 아닙니다. 이전 함수를 참조하는 기존 규칙, 보기, 트리거 등을 삭제해야 합니다. 사용함수 생성 또는 교체함수를 참조하는 객체를 손상시키지 않고 함수 정의를 변경합니다. 또한,함수 변경기존 기능의 대부분의 보조 속성을 변경하는 데 사용할 수 있습니다.
함수를 생성한 사용자가 함수의 소유자가 됩니다.
함수를 생성하려면 다음이 있어야 합니다.사용인수 유형 및 반환 유형에 대한 권한입니다.
생성할 함수의 이름(선택적으로 스키마 한정).
인수의 모드:IN, 아웃, INOUT또는VARIADIC. 생략하면 기본값은IN. 만아웃인수는 다음과 같습니다.VARIADIC하나. 또한,아웃그리고INOUT인수는 다음과 함께 사용할 수 없습니다.반품 테이블표기법.
인수의 이름. 일부 언어(SQL 및 PL/pgSQL 포함)에서는 함수 본문에 이름을 사용할 수 있습니다. 다른 언어의 경우 입력 인수의 이름은 함수 자체에 관한 한 추가 문서일 뿐입니다. 하지만 가독성을 높이기 위해 함수를 호출할 때 입력 인수 이름을 사용할 수 있습니다(참조PostgreSQL : 문서 : 9.6 : 스포츠 토토 결과 호출). 어떤 경우든 출력 인수의 이름은 결과 행 유형의 열 이름을 정의하므로 중요합니다. (출력 인수의 이름을 생략하면 시스템은 기본 열 이름을 선택합니다.)
함수 인수(선택적으로 스키마 한정)의 데이터 유형(있는 경우). 인수 유형은 기본, 복합 또는 도메인 유형이거나 테이블 열 유형을 참조할 수 있습니다.
구현 언어에 따라 지정이 허용될 수도 있습니다"유사형"예:cstri사설 토토 사이트. 유사 유형은 실제 인수 유형이 불완전하게 지정되었거나 일반 SQL 데이터 유형 집합을 벗어났음을 나타냅니다.
열의 유형은 쓰기로 참조됩니다.테이블_이름.열_이름%TYPE. 이 기능을 사용하면 테이블 정의 변경과 관계없이 함수를 독립적으로 만드는 데 도움이 될 수 있습니다.
매개변수가 지정되지 않은 경우 기본값으로 사용되는 표현식입니다. 표현식은 매개변수의 인수 유형으로 강제 변환 가능해야 합니다. 입력만(포함INOUT) 매개변수는 기본값을 가질 수 있습니다. 기본값이 있는 매개변수 뒤에 오는 모든 입력 매개변수에도 기본값이 있어야 합니다.
반환 데이터 유형(선택적으로 스키마 한정). 반환 유형은 기본, 복합 또는 도메인 유형일 수도 있고 테이블 열 유형을 참조할 수도 있습니다. 구현 언어에 따라 지정할 수도 있습니다."유사형"예를 들어cstri사설 토토 사이트. 함수가 값을 반환하지 않아야 하는 경우 다음을 지정하십시오.공허반환 유형으로.
있을 때아웃또는INOUT매개변수,반환절은 생략 가능합니다. 존재하는 경우 출력 매개변수가 암시하는 결과 유형과 일치해야 합니다.기록여러 출력 매개변수가 있거나 단일 출력 매개변수와 동일한 유형이 있는 경우.
그SETOF수정자는 함수가 단일 항목이 아닌 일련의 항목을 반환함을 나타냅니다.
열의 유형은 쓰기로 참조됩니다.테이블_이름.컬럼_이름%TYPE.
다음의 출력 열 이름반품 테이블구문. 이는 사실상 명명된을 선언하는 또 다른 방법입니다.아웃매개변수, 제외반품 테이블또한 암시함SETOF 반환.
출력 열의 데이터 유형반품 테이블구문.
함수가 구현된 언어의 이름. 다음과 같을 수 있습니다.sql, c, 내부또는 사용자 정의 절차 언어의 이름(예:plpgsql. 이름을 작은따옴표로 묶는 것은 더 이상 사용되지 않으며 대소문자가 일치해야 합니다.
함수 호출을 변환하는 목록이 적용되어야 합니다. SQL 유형과 언어별 데이터 유형 간 변환을 변환합니다. 참조PostgreSQL : 문서 : 9.6 : 토토 핫 생성. 절차적 언어 구현에는 일반적으로 내장 유형에 대한 지식이 하드코딩되어 있으므로 여기에 나열할 필요가 없습니다. 절차적 언어 구현이 유형을 처리하는 방법을 모르고 변환이 제공되지 않는 경우 데이터 유형을 변환하기 위한 기본 동작으로 돌아가지만 이는 구현에 따라 다릅니다.
창함수는 다음과 같습니다.창 사설 토토 사이트일반 함수가 아닙니다. 이는 현재 C로 작성된 함수에만 유용합니다.창기존 함수 정의를 바꿀 때 속성을 변경할 수 없습니다.
이러한 속성은 쿼리 최적화 프로그램에 함수의 동작에 대해 알려줍니다. 최대 하나의 선택 항목을 지정할 수 있습니다. 이들 중 어느 것도 나타나지 않으면,휘발성기본 가정입니다.
불변함수는 데이터베이스를 수정할 수 없으며 동일한 인수 값이 주어지면 항상 동일한 결과를 반환함을 나타냅니다. 즉, 데이터베이스 조회를 수행하지 않거나 인수 목록에 직접 존재하지 않는 정보를 사용하지 않습니다. 이 옵션이 제공되면 모든 상수 인수를 사용하여 함수를 호출하면 즉시 함수 값으로 대체될 수 있습니다.
안정적함수는 데이터베이스를 수정할 수 없으며 단일 테이블 스캔 내에서 동일한 인수 값에 대해 동일한 결과를 일관되게 반환하지만 해당 결과는 SQL 문 전체에서 변경될 수 있음을 나타냅니다. 이는 데이터베이스 조회, 매개변수 변수(예: 현재 시간대) 등에 따라 결과가 달라지는 함수에 대한 적절한 선택입니다. (다음에는 부적절합니다.이후현재 명령으로 수정된 행을 쿼리하려는 트리거.) 또한 다음 사항에 유의하세요.현재_타임스탬프함수군은 트랜잭션 내에서 값이 변경되지 않으므로 안정적인 것으로 간주됩니다.
휘발성는 단일 테이블 스캔 내에서도 함수 값이 변경될 수 있으므로 최적화가 이루어질 수 없음을 나타냅니다. 이런 의미에서 휘발성인 데이터베이스 기능은 상대적으로 적습니다. 몇 가지 예는 다음과 같습니다무작위(), currval(), timeofday(). 그러나 호출이 최적화되는 것을 방지하려면 결과가 상당히 예측 가능하더라도 부작용이 있는 모든 함수는 휘발성으로 분류되어야 합니다. 예는 다음과 같습니다setval().
자세한 내용은 참조PostgreSQL : 문서 : 9.6 : 와이즈 토토 변동성 범주.
누설방지함수에 부작용이 없음을 나타냅니다. 반환 값 외에는 인수에 대한 정보를 공개하지 않습니다. 예를 들어 일부 인수 값에 대해서는 오류 메시지를 표시하지만 다른 인수 값에는 오류 메시지를 표시하지 않거나 오류 메시지에 인수 값을 포함하는 함수는 누출 방지 기능이 없습니다. 이는 시스템이 생성된 뷰에 대해 쿼리를 실행하는 방법에 영향을 미칩니다.security_barrier옵션 또는 행 수준 보안이 활성화된 테이블. 시스템은 데이터의 부주의한 노출을 방지하기 위해 비누출 방지 기능이 포함된 쿼리 자체에서 사용자가 제공한 조건보다 먼저 보안 정책 및 보안 장벽 보기의 조건을 적용합니다. 누출 방지로 표시된 기능과 연산자는 신뢰할 수 있는 것으로 간주되며 보안 정책 및 보안 장벽 관점의 조건 이전에 실행될 수 있습니다. 또한 인수를 취하지 않거나 보안 장벽 뷰 또는 테이블에서 인수가 전달되지 않은 함수는 보안 조건 이전에 실행되도록 누출 방지로 표시할 필요가 없습니다. 참조PostgreSQL : 문서 : 9.6 :롤 토토 만들기그리고PostgreSQL : 문서 : 9.6 : 윈 토토 및 권한. 이 옵션은 슈퍼유저만 설정할 수 있습니다.
NULL 입력 시 호출됨(기본값)은 인수 중 일부가 null인 경우 함수가 정상적으로 호출됨을 나타냅니다. 필요한 경우 null 값을 확인하고 적절하게 응답하는 것은 함수 작성자의 책임입니다.
NULL 입력 시 NULL을 반환합니다.또는STRICT은 인수 중 하나라도 null일 때마다 함수가 항상 null을 반환함을 나타냅니다. 이 매개 변수를 지정하면 null 인수가 있는 경우 함수가 실행되지 않습니다. 대신 null 결과가 자동으로 가정됩니다.
보안 호출자함수를 호출하는 사용자의 권한으로 함수가 실행됨을 나타냅니다. 그게 기본값이에요.보안 정의자함수를 생성한 사용자의 권한으로 함수가 실행되도록 지정합니다.
핵심 단어외부은 SQL 적합성을 위해 허용되지만 SQL과 달리 이 기능은 외부 함수뿐만 아니라 모든 함수에 적용되므로 선택 사항입니다.
병렬 안전하지 않음은 함수가 병렬 모드에서 실행될 수 없으며 SQL 문에 이러한 함수가 있으면 직렬 실행 계획이 강제 실행됨을 나타냅니다. 이것이 기본값입니다.병렬 제한됨함수는 병렬 모드에서 실행될 수 있지만 실행은 병렬 그룹 리더로 제한됨을 나타냅니다.병렬 안전함수는 제한 없이 병렬 모드로 실행해도 안전함을 나타냅니다.
함수는 데이터베이스 상태를 수정하거나 하위 트랜잭션을 사용하는 등 트랜잭션을 변경하거나 시퀀스에 액세스하거나 설정을 지속적으로 변경하려고 시도하는 경우 병렬 안전하지 않음으로 표시되어야 합니다(예:setval). 임시 테이블, 클라이언트 연결 상태, 커서, 준비된 명령문 또는 시스템이 병렬 모드에서 동기화할 수 없는 기타 백엔드 로컬 상태에 액세스하는 경우 병렬 제한으로 라벨을 지정해야 합니다(예:세트 시드다른 프로세스에서 변경한 사항은 리더에 반영되지 않으므로 그룹 리더 외에는 실행할 수 없습니다.) 일반적으로 함수가 제한되거나 안전하지 않을 때 안전한 것으로 레이블이 지정되거나 실제로 안전하지 않을 때 제한됨으로 레이블이 지정되면 병렬 쿼리에 사용될 때 오류가 발생하거나 잘못된 응답이 생성될 수 있습니다. C 언어 함수는 이론적으로 레이블이 잘못 지정되면 완전히 정의되지 않은 동작을 보일 수 있습니다. 시스템이 임의의 C 코드로부터 자신을 보호할 수 있는 방법이 없기 때문입니다. 그러나 대부분의 경우 결과는 다른 함수보다 나쁘지 않을 것입니다. 의심스러운 경우 함수에 다음과 같이 라벨을 지정해야 합니다.안전하지 않음이 기본값입니다.
함수에 대한 예상 실행 비용을 단위로 제공하는 양수cpu_operator_cost. 함수가 집합을 반환하는 경우 이는 반환된 행당 비용입니다. 비용이 지정되지 않은 경우 C 언어 및 내부 기능의 경우 1단위로 간주되고 기타 모든 언어의 기능은 100단위로 간주됩니다. 값이 클수록 플래너는 필요한 것보다 더 자주 함수를 평가하지 않으려고 합니다.
플래너가 함수가 반환할 것으로 예상하는 예상 행 수를 제공하는 양수입니다. 이는 함수가 집합을 반환하도록 선언된 경우에만 허용됩니다. 기본 가정은 1000행입니다.
그SET절은 함수가 시작될 때 지정된 구성 매개변수가 지정된 값으로 설정되고 함수가 종료될 때 이전 값으로 복원되도록 합니다.현재부터 설정다음의 경우 현재 매개변수 값을 저장합니다.함수 생성함수 입력시 적용되는 값으로 실행됩니다.
만약에SET절이 함수에 첨부되면 a의 효과로컬 설정28574_28767SET명령(없음로컬)는를 재정의합니다.SET절, 이전과 마찬가지로로컬 설정명령: 이러한 명령의 효과는 현재 트랜잭션이 롤백되지 않는 한 함수 종료 후에도 지속됩니다.
참조PostgreSQL : 문서 : 9.6 : 스포츠 토토 결과그리고메이저 토토 사이트 : 문서 : 9.6 : 서버 구성허용된 매개변수 이름 및 값에 대한 자세한 내용을 확인하세요.
함수를 정의하는 문자열 상수; 의미는 언어에 따라 다릅니다. 내부 함수 이름, 개체 파일 경로, SQL 명령 또는 절차적 언어의 텍스트일 수 있습니다.
달러 인용을 사용하는 것이 종종 도움이 됩니다(참조섹션 4.1.2.4) 일반적인 작은따옴표 구문 대신 함수 정의 문자열을 작성합니다. 달러 따옴표가 없으면 함수 정의의 작은 따옴표나 백슬래시를 두 배로 늘려 이스케이프해야 합니다.
이 형태의AS절은 C 언어 소스 코드의 함수 이름이 SQL 함수의 이름과 동일하지 않을 때 동적으로 로드 가능한 C 언어 함수에 사용됩니다. 문자열obj_file동적으로 로드할 수 있는 개체를 포함하는 파일의 이름이며link_symbol은 함수의 링크 기호, 즉 C 언어 소스 코드의 함수 이름입니다. 링크 기호가 생략되면 정의 중인 SQL 함수 이름과 동일한 것으로 간주됩니다. 모든 함수의 C 이름은 달라야 하므로 오버로드된 C 함수에 다른 C 이름을 지정해야 합니다(예: 인수 유형을 C 이름의 일부로 사용).
반복되는 경우함수 생성호출은 동일한 개체 파일을 참조하며, 파일은 세션당 한 번만 로드됩니다. 파일을 언로드하고 다시 로드하려면(아마도 개발 중에) 새 세션을 시작하세요.
함수에 관한 선택적 정보를 지정하는 역사적 방법입니다. 여기에는 다음 속성이 나타날 수 있습니다.
다음과 동일함엄격또는NULL 입력 시 NULL을 반환합니다..
isCachable은 다음과 같은 구식 버전입니다.불변; 이전 버전과의 호환성 때문에 여전히 허용됩니다.
속성 이름은 대소문자를 구분하지 않습니다.
참조PostgreSQL : 문서 : 9.6 : 사용자 정의 토토 사이트 순위작성 함수에 대한 추가 정보를 확인하세요.
포스트그레SQL사설 토토 사이트 허용오버로딩; 즉, 서로 다른 입력 인수 유형이 있는 한 여러 다른 함수에 동일한 이름을 사용할 수 있습니다. 사용 여부에 관계없이 이 기능은 일부 사용자가 다른 사용자를 신뢰하지 않는 데이터베이스에서 함수를 호출할 때 보안 예방 조치를 수반합니다. 참조PostgreSQL : 문서 : 9.6 : 토토.
두 함수는 이름이 같으면 같은 것으로 간주됩니다.입력인수 유형, 모두 무시아웃매개변수. 따라서 예를 들어 이러한 선언은 충돌합니다.
함수 생성 foo(int) ... 함수 만들기 foo(int, out text) ...
다른 인수 유형 목록을 가진 함수는 생성 시 충돌로 간주되지 않지만 기본값이 제공되면 사용 시 충돌이 발생할 수 있습니다. 예를 들어 다음을 고려하세요.
함수 생성 foo(int) ... 함수 생성 foo(int, int 기본값 42) ...
전화foo(10)어떤 함수를 호출해야 하는지에 대한 모호함으로 인해 실패합니다.
전체SQL유형 구문은 함수의 인수 및 반환 값을 선언하는 데 허용됩니다. 그러나 괄호로 묶인 유형 수정자(예: 유형의 정밀도 필드숫자)는에 의해 삭제됩니다.함수 생성. 따라서 예를 들면Foo 함수 생성(varchar(10)) ...정확히 동일Foo(varchar) 함수 생성 ....
기존 함수를 다음으로 대체할 때함수 생성 또는 교체, 매개변수 이름 변경에 제한이 있습니다. 입력 매개변수에 이미 할당된 이름은 변경할 수 없습니다. 단, 이전에 입력 매개변수가 없었던 매개변수에 이름을 추가할 수는 있습니다. 출력 매개변수가 두 개 이상인 경우 출력 매개변수의 이름을 변경할 수 없습니다. 이렇게 하면 함수 결과를 설명하는 익명 복합 유형의 열 이름이 변경되기 때문입니다. 이러한 제한은 함수의 기존 호출이 교체될 때 작동이 중지되지 않도록 하기 위해 만들어졌습니다.
함수가 선언된 경우STRICT와VARIADIC인수, 엄격성 검사는 가변 배열을 테스트합니다.전체적으로널이 아닙니다. 배열에 null 요소가 있는 경우에도 함수가 호출됩니다.
다음은 시작하는 데 도움이 되는 몇 가지 간단한 예입니다. 자세한 내용과 예시는 다음을 참조하세요.PostgreSQL : 문서 : 9.6 : 사용자 정의 토토 사이트 순위.
CREATE FUNCTION add(정수, 정수) RETURNS 정수
    AS '$1 + $2 선택;'
    언어 SQL
    불변
    NULL 입력 시 NULL을 반환합니다.
인수 이름을 사용하여 정수를 증가시킵니다.PL/pgSQL:
CREATE OR REPLACE FUNCTION 증분(i 정수) $$로 정수를 반환합니다.
        시작
                RETURN i + 1;
        끝;
$$ 언어 plpgsql;
여러 출력 매개변수가 포함된 레코드를 반환합니다:
CREATE FUNCTION dup(in int, out f1 int, out f2 텍스트)
    AS $$ SELECT $1, CAST($1 AS 텍스트) || '는 텍스트입니다' $$
    언어 SQL;
SELECT * FROM dup(42);
명시적으로 이름이 지정된 복합 유형을 사용하면 동일한 작업을 더 장황하게 수행할 수 있습니다.
CREATE TYPE dup_result AS(f1 int, f2 텍스트);
함수 생성 dup(int)는 dup_result를 반환합니다.
    AS $$ SELECT $1, CAST($1 AS 텍스트) || '는 텍스트입니다' $$
    언어 SQL;
SELECT * FROM dup(42);
여러 열을 반환하는 또 다른 방법은 다음을 사용하는 것입니다.표사설 토토 사이트:
함수 생성 dup(int) 반환 테이블(f1 int, f2 text)
    AS $$ SELECT $1, CAST($1 AS 텍스트) || '는 텍스트입니다' $$
    언어 SQL;
SELECT * FROM dup(42);
그러나 a표함수는 실제로 다음을 반환한다는 점에서 앞의 예와 다릅니다.설정단지 하나의 레코드가 아닌 여러 개의 레코드.
왜냐면 a보안 정의자함수는 이를 생성한 사용자의 권한으로 실행되므로 해당 함수가 오용되지 않도록 주의가 필요합니다. 보안을 위해,검색_경로신뢰할 수 없는 사용자가 쓸 수 있는 모든 스키마를 제외하도록 설정해야 합니다. 이는 악의적인 사용자가 함수에서 사용하도록 의도된 객체를 가리는 객체(예: 테이블, 함수 및 연산자)를 생성하는 것을 방지합니다. 이와 관련하여 특히 중요한 것은 기본적으로 먼저 검색되고 일반적으로 누구나 쓸 수 있는 임시 테이블 스키마입니다. 임시 스키마를 마지막에 검색하도록 하여 안전한 배열을 얻을 수 있습니다. 이렇게 하려면 다음을 작성하세요.pg_temp의 마지막 항목으로검색_경로. 이 함수는 안전한 사용법을 보여줍니다.
CREATE FUNCTION check_password(TEXT 이름 취소, TEXT 전달)
부울을 $$로 반환합니다.
DECLARE가 BOOLEAN을 통과했습니다.
시작
        SELECT (pwd = $2) INTO가 전달되었습니다.
        비밀번호에서
        사용자 이름 = $1;
        반환이 통과되었습니다.
끝;
$$ 언어 plpgsql
    보안 정의자
    -- 보안 검색_경로(신뢰할 수 있는 스키마, 'pg_temp')를 설정합니다.
    SET search_path = 관리자, pg_temp;
이 함수의 목적은 테이블에 접근하는 것입니다.admin.pwds. 하지만SET절 또는 aSET만 언급하는 절관리자, 이름이 지정된 임시 테이블을 생성하여 함수를 전복할 수 있습니다.비밀번호.
이전포스트그레SQL버전 8.3,SET절을 사용할 수 없으므로 이전 함수에는 저장, 설정 및 복원을 위한 다소 복잡한 논리가 포함될 수 있습니다.검색_경로.SET절은 이 목적으로 사용하기가 훨씬 쉽습니다.
또 다른 명심해야 할 점은 기본적으로 실행 권한이 다음에 부여된다는 것입니다.공개새로 생성된 함수의 경우(참조토토 베이 PostgreSQL : 문서 : 9.6 : grant자세한 내용은). 보안 정의자 기능의 사용을 일부 사용자에게만 제한하고 싶은 경우가 많습니다. 그렇게 하려면 기본값을 취소해야 합니다.공개권한을 부여한 다음 선택적으로 실행 권한을 부여합니다. 모든 사람이 새 기능에 액세스할 수 있는 창을 피하려면 해당 기능을 만들고 단일 트랜잭션 내에서 권한을 설정하십시오. 예를 들면:
시작; CREATE FUNCTION check_password(TEXT 이름 변경, TEXT 전달) ... 보안 정의자; PUBLIC에서 함수의 모든 항목을 취소합니다. check_password(TEXT 이름 변경, TEXT 전달); 관리자에게 함수에 대한 실행 권한을 부여합니다. check_password(TEXT 이름 바꾸기, TEXT 전달); 저지르다;
A 함수 생성명령은 SQL:1999 이상에 정의되어 있습니다.PostgreSQL버전이 비슷하지만 완전히 호환되지는 않습니다. 속성은 이식 가능하지 않으며 사용 가능한 다른 언어도 마찬가지입니다.
다른 데이터베이스 시스템과의 호환성을 위해,argmode앞이나 뒤에 쓸 수 있습니다.argname. 하지만 첫 번째 방법만 표준을 준수합니다.
매개변수 기본값의 경우 SQL 표준은 다음과 같은 구문만 지정합니다.기본값키워드. 의 구문=T-SQL 및 Firebird에서 사용됩니다.