1
에 기본 날짜 형식을 변경 내가 날짜 형식을 로그온 할 때마다PL/SQL 트리거 오라클
다음과 같이 내가 PL/SQL 트리거를 만들어이를 위해'24/04/2014'
에 '24-Apr-2014'
변경되었는지 확인하려면 내가 오류를 얻을하는 이유는 SYSDBA로 로그인하고 있지 않다 그러나
CREATE OR REPLACE TRIGGER CHANGE_DATE_FORMAT
AFTER LOGON ON DATABASE
BEGIN
ALTER SESSION SET NLS_DATE_FORMAT = 'MM/DD/YYYY';
END;
/
그래서 아마도 그게 전부
SQL> @C:/pl/dateTrigger.sql AFTER LOGON ON DATABASE * ERROR at line 2: ORA-01031: insufficient privileges
날짜 형식이 영구적으로 변경되도록하려면 어떻게해야합니까?
안녕 파질 :
는 현재 세션의 오른쪽 값을 확인하십시오. 로그인 방법 예 : SQL Plus 등을 사용하는 것입니다. sys/pwd 명령을 sysdba 명령으로 사용하십시오. –일반적으로 nls_date_format은 클라이언트에서 설정되는 항목입니다. 클라이언트 측 구성으로이 작업을 수행 할 수 없거나 수행하고 싶지 않은 이유가 있습니까? 데이터베이스에 로그온 트리거를 만들 수있는 권한을 얻을 수없고 얻을 수 없다는 말입니까? 그리고 한 발 뒤로 물러나십시오. 어떤 문제를 해결하려고합니까? 사람들이'nls_date_format'에 지나치게 염려 할 때, 이것은 종종 어플리케이션이 암시 적 문자열 - 날짜 변환에 의존하고 있음을 의미합니다. –
또한, login.sql 사용자 프로파일에서 사용하는 경우이 설정을 고려해 볼 수 있습니다. 모든 로컬 명령 행 사용자의 경우에는 'glogin.sql'사이트 프로파일을 사용하는 것이 좋습니다. SQL * Plus (예 : JDBC 포함)뿐만 아니라 혼동을 유발할 수있는 모든 클라이언트에 로그온 트리거가 적용됩니다. 그리고 트리거 자체 내에서 선택적으로 적용하지 않는 한 모든 사용자. 'execute immediate' 명령을 사용하여'alter session' 명령을 실행하면 PL/SQL 내에서 간단한 명령문으로 인식되지 않습니다. –