반응형

Oracle 37

Oracle과 대체 스키마의 외부 키?

Oracle과 대체 스키마의 외부 키? 나는 두 개의 스키마가 있는데, 그것들을 BOB와 FRED라고 부르자.스키마 BOB에서 스키마 FRED의 테이블을 호출하여 해당 테이블의 기본 키를 외부 키로 사용해야 합니다.BOB가 스키마 FRED에 액세스할 수 있도록 적절한 권한 부여를 설정했지만 스크립트를 실행할 때마다 올바른 권한이 없다고 불평합니다.제가 어딘가에서 변경해야 할 다른 설정이 있습니까?이게 가능할까요? 내 FK 작성 내용은 다음과 같습니다. ALTER TABLE "BOB"."ITEMGROUP" WITH CHECK ADD CONSTRAINT FK_ITEMS_ITEM FOREIGN KEY (ItemID) REFERENCES "FRED"."ITEMS"(ItemID) 그리고 저는 다음과 같이 보조금을..

programing 2023.09.03

Oracle 패키지가 유효하지 않게 되는 상황은 무엇입니까?

Oracle 패키지가 유효하지 않게 되는 상황은 무엇입니까? 이 질문을 작성한 시나리오: 다른 패키지의 종속성인 패키지가 있으며, "상위" 패키지를 변경하면 종속 패키지가 무효화될 수 있지만 그렇지 않을 수도 있습니다. 그것은 전에 우리를 놀라게 한 적이 있습니다. 무효화의 원인을 간단히 파악하여 예측/계획할 수 있도록 하는 것이 매우 유용할 것입니다.패키지가 의존하는 개체(예: 테이블, 보기, 트리거, 기타 패키지)를 변경하면 패키지가 자동으로 유효하지 않은 것으로 표시됩니다.위의 tuinstoel 참고 사항처럼 Oracle은 패키지가 처음 사용될 때 패키지를 다시 컴파일할 수 있을 정도로 충분히 똑똑합니다. 이 문제가 우려되는 경우 스키마를 변경할 때마다 (예: 테이블, 뷰, 트리거, 프로시저)DBM..

programing 2023.08.24

PL/SQL: 테이블에서 연결 배열로 선택

PL/SQL: 테이블에서 연결 배열로 선택 하나의 쿼리에서 pl/sql 연관 배열로 데이터를 선택하려고 합니다.하드 코딩된 키로 이 작업을 수행할 수 있지만 다른 열(키 열)을 대신 참조할 수 있는 방법이 있는지 알고 싶었습니다. DECLARE TYPE VarAssoc IS TABLE OF varchar2(2) INDEX BY varchar2(3); vars VarAssoc; BEGIN SELECT foo, bar INTO vars(foo) FROM schema.table; END; 이 작업을 수행할 때 foo가 선언되어야 한다는 오류가 발생합니다.단일 쿼리에서 내 어소시에이트 어레이를 생성할 수 있는 방법이 있습니까? 아니면 FOR 루프에 다시 의존해야 합니까?APC의 답변에 대한 당신의 의견을 읽어보..

programing 2023.08.24

Oracle에서 편집 가능한 보기 적용

Oracle에서 편집 가능한 보기 적용 Oracle 데이터베이스의 보기, 구체화된 보기, 강제 보기 등을 알고 있습니다.아래에서 본 패키지를 튜닝해야 하는 오늘 CREATE OR REPLACE FORCE EDITIONABLE VIEW "IMCAPPS"."PJM_EID_ONHAND_VALUES_V" 누가 나에게 무엇인지 말해줄 수 있습니까?FORCE EDITIONABLE VIEW그리고 우리가 그것을 사용할 때 그것이 제공하는 이점.Force와 Editionable은 서로 다른 것입니다. FORCE는 쿼리가 유효한지 여부에 관계없이 보기를 작성하도록 데이터베이스에 지시합니다.기본 동작은 쿼리가 어떤 이유로든 컴파일되지 않는 경우(예: 잘못된 구문, 참조된 개체에 대한 권한 누락) CREATE VIEW 문이 ..

programing 2023.08.19

SQL*Plus에서 create 문 중간에 빈 줄이 있는 뷰/테이블을 생성하려면 어떻게 해야 합니까?

SQL*Plus에서 create 문 중간에 빈 줄이 있는 뷰/테이블을 생성하려면 어떻게 해야 합니까? 스크립트를 통해 SQL*Plus를 사용하여 일부 뷰를 생성하고 싶지만 개발자가 빈 줄 중간 문을 배치하면 문제가 발생하는 것 같습니다.다음 문은 TOD/PL/SQL 개발자 등에서는 잘 작동하지만 SQL*Plus에서는 실패합니다. (일반적으로 스크립트로 작성되지만 수동으로 입력하면 정확히 동일한 오류가 발생합니다.) 누가 왜 그것을 멈추는지 말해줄 수 있습니까? CREATE VIEW bob AS SELECT * FROM DUAL; SQL*Plus 출력 포함 SQL> CREATE VIEW bob 2 AS 3 SELECT * 4 SQL> FROM DUAL; SP2-0042: unknown command "FR..

programing 2023.08.19

데이터 유형의 테이블 열을 참조하는 오라클 유형을 만들려면 어떻게 해야 합니까?

데이터 유형의 테이블 열을 참조하는 오라클 유형을 만들려면 어떻게 해야 합니까? 나는 정의하려고 합니다.type다음 코드를 사용합니다. CREATE OR REPLACE TYPE MY_TYPE AS OBJECT ( app_id some_table_name.app_id%type ); 이걸 실행하면 오류가 발생합니다. Error(4,32): PLS-00201: identifier 'some_table_name.app_id' must be declared 이게 뭐가 문제야?그게 뭐가 문제야?%typePL/SQL 구문입니다.SQL에서는 지원되지 않습니다.이제 PL/SQL을 사용하여 유형(특히 멤버 함수, 생성자 등)을 정의하지만 유형 자체는 SQL 개체이므로 SQL 규칙을 따릅니다.즉, 명시적 데이터 유형을 사용..

programing 2023.08.09

dbms_metadata.get_ddl을 더 예쁘게/유용하게 만드는 방법

dbms_metadata.get_ddl을 더 예쁘게/유용하게 만드는 방법 내 스키마에서 개체의 DDL을 생성하기 위해 패키지를 만들고 있습니다(개체 이름을 구문 분석하고 다음을 반환합니다).clob파일을 생성하여 SVN에 직접 저장할 수 있습니다. 사용 중dbms_metadata.get_ddl테이블/구체화된 뷰를 제외한 모든 객체에 적합합니다. 테이블을 다음과 같이 작성하는 경우: create table stackoverflow ( col_1 varchar2(64) , col_2 number , col_3 date); create index idx_test on stackoverflow(col_1); alter table stackoverflow add constraint ui_test unique (c..

programing 2023.08.04

ORACLE 11g의 테이블 값 함수 ? (파라미터화된 보기)

ORACLE 11g의 테이블 값 함수 ? (파라미터화된 보기) 저는 과거에 여기와 같이 이것에 대한 논의를 본 적이 있습니다.하지만 Oracle은 모든 종류의 사용자 정의 유형 및/또는 커서 정의 또는 sys_context 변수를 데이터베이스에 모두 배치할 필요 없이 "파라미터화된 보기"를 더 잘 지원하는지 궁금합니다. 저는 T-SQL의 다음 예시와 같이 단순히 "그냥 작동하는" 것에 대한 오라클의 추가 지원이 있기를 바랍니다. CREATE FUNCTION [dbo].[getSomeData] (@PRODID ROWID) RETURNS TABLE AS RETURN SELECT PRODID, A, B, C, D, E FROM MY_TABLE WHERE PRODID = @PRODID 다음과 같이 선택합니다. ..

programing 2023.07.30

java System.currentTimeMillis()에 해당하는 Oracle?

java System.currentTimeMillis()에 해당하는 Oracle? Oracle 번호 필드에 현재 시간을 밀리초 단위로 저장할 수 있기를 원합니다.쿼리를 통해 이 작업을 수행하려면 어떻게 해야 합니까? select systimestamp from dual; 실제 타임스탬프를 반환합니다.자바와 같은 방식으로 이것을 밀리초로 변환할 수 있는 방법이 있습니까?System.currentTimeMillis()그래요?Java 함수는 특정 시점 이후 경과한 시간(밀리초)을 반환합니다.이 시간은 1970년 UTC의 첫 번째 날 자정, 즉 Unix 클럭 시간의 시작입니다. 다음 함수는 PL/SQL에 대해 동일하게 수행됩니다.시작 지점(여기서 ms=1)에서 현재 타임스탬프를 뺍니다.다양한 시간 성분을 추출하..

programing 2023.07.30

"식 유형이 잘못됨"에서 부울 반환 함수가 실패함

"식 유형이 잘못됨"에서 부울 반환 함수가 실패함 나는 오라클 11g를 사용하고 있는데 내 문제가 어디에 있는지 이해할 수 없습니다.저는 훨씬 더 어려운 것을 만들었지만 지난 5시간 동안 이 간단한 것에서 실패했습니다. 이것은 기능 본체입니다. FUNCTION legal_user( level_existance number ,types_with_impel number) RETURN BOOLEAN IS v_ret_val BOOLEAN; BEGIN v_ret_val := FALSE; IF (level_existance*types_with_impel>0) then v_ret_val := TRUE; DBMS_OUTPUT.PUT_LINE('true'); else DBMS_OUTPUT.PUT_LINE('false')..

programing 2023.07.30
반응형