반응형

Oracle 37

ORA-00942: 테이블 또는 뷰가 존재하지 않음(별도의 SQL에서는 동작하지만 Oracle 함수에서는 동작하지 않음)

ORA-00942: 테이블 또는 뷰가 존재하지 않음(별도의 SQL에서는 동작하지만 Oracle 함수에서는 동작하지 않음) 다음과 같은 sql 문이 있는 경우select * from table1이 기능은 훌륭하지만, 기능에 넣자마자 다음과 같은 것을 얻을 수 있습니다. ORA-00942: table or view does not exist 어떻게 해결할까요?table1에서 선택할 수 있는 권한이 역할에 부여되고 역할이 사용자에게 부여되었을 가능성이 높습니다.역할에 부여된 권한은 사용자에게 역할이 부여된 경우에도 사용자가 작성한 PL/SQL에 사용할 수 없습니다. 이는 sys가 소유한 개체에 대해 dba 역할이 부여된 사용자에게 많이 나타납니다.dba 역할을 가진 사용자는 다음과 같은 작업을 수행할 수 있습..

programing 2023.03.19

단일 SQL에 여러 "WITH AS"를 포함할 수 있습니까? - Oracle SQL

단일 SQL에 여러 "WITH AS"를 포함할 수 있습니까? - Oracle SQL 아주 간단한 질문이 있습니다.Oracle은 단일 SQL 문에 여러 "WITH AS"를 허용합니까? 예: WITH abc AS( select ......) WITH XYZ AS(select ....) /*This one uses "abc" multiple times*/ Select .... /*using XYZ multiple times*/ 같은 쿼리를 여러 번 반복함으로써 쿼리를 실행할 수 있지만, 이 쿼리를 실행하고 싶지 않고 "WITH AS"를 활용합니다.간단한 요구 사항처럼 보이지만 Oracle에서는 다음을 수행할 수 없습니다. ORA-00928: SELECT 키워드가 없습니다. 다음과 같이 할 수 있습니다. WIT..

programing 2023.03.19

"안전" TO_NUMBER()

"안전" TO_NUMBER() SELECT TO_NUMBER('*') FROM DUAL 이것은 분명히 예외입니다. ORA-01722: 유효하지 않은 번호 '건너뛰기'를 해서 그 '건너뛰기'를 할 수 있는 방법은 없을까?0또는NULL대신? 전체 문제:있습니다NVARCHAR2필드: 거의;-가 아닌 숫자를 포함합니다(예:*컬럼에서 가장 큰 숫자를 선택해야 합니다. 네, 형편없는 디자인인 건 알지만, 지금 제가 필요한 건...:-S 업데이트: 저는 이 문제를 해결했습니다. COALESCE(TO_NUMBER(REGEXP_SUBSTR(field, '^\d+')), 0) 부터Oracle Database 12c Release 2TO_NUMBER를 사용하여DEFAULT ... ON CONVERSION ERROR: SEL..

programing 2023.03.09

Oracle이 존재하지 않는 테이블 또는 뷰를 알려주지 않는 이유는 무엇입니까?

Oracle이 존재하지 않는 테이블 또는 뷰를 알려주지 않는 이유는 무엇입니까? Oracle을 사용한 적이 있는 경우 다음과 같은 유용한 메시지가 나타납니다. "ORA-00942:테이블 또는 뷰가 존재하지 않습니다.메시지에 누락된 객체의 이름이 포함되지 않은 정당한 기술적 이유가 있습니까? 보안에 의한 것이라는 주장은 마치 TSA에 의해 조작된 것처럼 들립니다.만약 내가 공격자라면, 나는 내가 방금 이용하려고 시도한 테이블을 알고 도움이 되지 않는 이 메시지를 쉽게 해석할 수 있을 것이다.복잡한 참여로 작업하는 개발자인 경우 애플리케이션 코드를 여러 층으로 구분하기가 매우 어렵습니다. 이 에러가 처음 실장되었을 때, 누군가가 오브젝트명을 추가하는 것을 게을리 해 버려서, 현재는 호환성이 없어져 버립니다...

programing 2023.02.27

C# Oracle 파라미터화된 쿼리 - 심각하고 위험한 버그!

C# Oracle 파라미터화된 쿼리 - 심각하고 위험한 버그! 이건 완전 울부짖는 놈이야제 눈을 믿을 수 없고, C#의 정품 버그라면 지금까지 아무도 이것을 발견하지 못했다는 것을 믿을 수 없기 때문에, 다른 개발자 커뮤니티에 제 잘못을 알리고 있습니다.이 질문에는 분명 내가 "DOH!"라고 말하고 손바닥으로 머리를 세게 때리는 것이 포함될 것이다.-어쨌든, 여기 있다. .Test_1 을 붙입니다 CREATE TABLE TEST_1 ( COLUMN1 NUMBER(12) NOT NULL, COLUMN2 VARCHAR2(20), COLUMN3 NUMBER(12)) TABLESPACE USERS STORAGE ( INITIAL 64K MAXEXTENTS UNLIMITED ) LOGGING; 이제 다음 코드를 ..

programing 2023.02.27

특정 JDBC 접속의 데이터베이스 유형을 판별하려면 어떻게 해야 합니까?

특정 JDBC 접속의 데이터베이스 유형을 판별하려면 어떻게 해야 합니까? 3개의 데이터베이스(Oracle, sybase, MS-Server)에 대해 저장 프로시저/함수를 반환하는 결과 세트를 처리해야 합니다.절차/기능은 일반적으로 동일하지만 Oracle에서는 호출이 조금 다릅니다. statement.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR); ... statement.execute(); ResultSet rs = (ResultSet)statement.getObject(1); JDBC는 일반적인 처리 방법을 제공하지 않기 때문에 코드 내의 다양한 유형의 DB를 구분해야 합니다.연결은 제공되지만 DB가 Oracle인지 확인하는 가장 좋은 방법을 알 수..

programing 2023.02.22

Oracle이 없는 경우 삽입

Oracle이 없는 경우 삽입 여러 행을 삽입하기 위해 Oracle 쿼리를 실행할 수 있어야 하지만 기본 키가 있는지 확인하고 있으면 해당 삽입을 건너뜁니다.예를 들어 다음과 같습니다. INSERT ALL IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar' ) ( INSERT INTO schema.myFoo fo ( primary_key, value1, value2 ) VALUES ('bar','baz','bat') ), IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar1' ) ( INSERT INTO schema.myFoo fo ( primary_key, value1, value2 ) VALUES ('bar1','baz1',..

programing 2023.02.22
반응형