반응형

Oracle 36

오라클에서 id의 중복 행마다 하나의 레코드만 얻는 방법은?

오라클에서 id의 중복 행마다 하나의 레코드만 얻는 방법은? 내가 이 테이블을 가지고 있다고 가정합니다. group_id | image | image_id | ----------------------------- 23 blob 1 23 blob 2 23 blob 3 21 blob 4 21 blob 5 25 blob 6 25 blob 7 각 그룹 ID 중 1개만 결과를 얻는 방법은?이 경우 하나의 그룹 id에 대해 여러 이미지가 있을 수 있으며, 나는 단지 각 그룹 id의 결과 하나를 원합니다. 나는 구별을 시도했지만 나는 group_id만 얻을 것입니다. 이미지에 대한 max도 작동하지 않습니다.Oracle에는 작동하는 표준 Aggregate 함수가 없습니다.BLOBs, 그래서GROUP BY해결책이 안 ..

sourcetip 2023.11.04

Oracle에서 regexp_replace vs translate의 성능?

Oracle에서 regexp_replace vs translate의 성능? 간단한 것은 사용하는 것이 더 나을까요?translateCPU 집약도가 낮거나 다음과 같은 경우를 전제로 기능합니다.regexp_replace갈 길? 이 질문은 Oracle REGEXP_REFACE 함수 내에서 괄호를 하이픈으로 교체하려면 어떻게 해야 합니까?단순한 최적화 작업을 진행하고 있다고 생각합니다.정규 표현식은 계산 비용이 너무 많이 들어 결과가 나중에 다시 사용되기를 바라며 캐시됩니다.실제로 서로 다른 문자열을 사용하여 변환을 해보면 전문적인 기능이기 때문에 보통의 번역이 자연스럽게 더 빠르다는 것을 알 수 있을 것입니다. 여기에 제 예시가 있습니다.11.1.0.7.0: SQL> DECLARE 2 TYPE t IS TA..

sourcetip 2023.11.04

문자열에 숫자가 포함되어 있는지 확인하는 방법

문자열에 숫자가 포함되어 있는지 확인하는 방법 문자열에 숫자가 포함되어 있는지 확인해야 합니다.아무 번호나.문자열이 숫자인지 아닌지가 아니라 문자열이 숫자를 포함하는 경우입니다. 예: 'test' = 숫자 없음. 'test2' =에 숫자가 포함되어 있습니다.정규식 사용: SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:digit:]]'); 정규식 사용 안 함: SELECT * FROM test WHERE testcol LIKE '%0%' OR testcol LIKE '%1%' OR testcol LIKE '%2%' OR testcol LIKE '%3%' OR testcol LIKE '%4%' OR testcol LIKE '%5%' OR testcol LIKE '%..

sourcetip 2023.10.25

Oracle: 기존 값에 추가하여 데이터 행 업데이트

Oracle: 기존 값에 추가하여 데이터 행 업데이트 데이터베이스(Oracle 11g)에 큰 테이블이 있으며 여기서 특정 번호가 있는 테이블의 열을 업데이트합니다.a를 설정하여 업데이트하고 싶습니다.prefix이 열의 모든 값 앞에 있습니다. 예제(특정 번호는int그리고 PK, Value1은Varchar2마지막 열도 마찬가지입니다.): 실제 데이터: [SpecificNumber] [Value1] [column2gettingupdated] [1] 123456789 Test text [2] 123456789102 sth text2 [3] 12233 text test3 향후 데이터(내 sql 이후): [SpecificNumber] [Value1] [column2gettingupdated] [1] 1234567..

sourcetip 2023.10.25

EntityManager.createNativeQuery가 페이지화를 사용할 때 BigDecimal 목록 대신 개체 목록을 반환합니다.

EntityManager.createNativeQuery가 페이지화를 사용할 때 BigDecimal 목록 대신 개체 목록을 반환합니다. 와 함께 .EntityManager.createNativeQuery() 아래는 제가 사용하고 있는 스켈레톤 코드입니다. var query = em.createNativeQuery("select distinct id from ... group by ... having ..."); List results = query .setMaxResults(pageSize) .setFirstResult(pageNumber * pageSize) .getResultList(); .pageNumber 페이지)입니다0다지)가 표시됩니다. 예상되는 BigDecimal 목록이 표시됩니다. .pag..

sourcetip 2023.10.10

Oracle 가장 최근 날짜 레코드 선택

Oracle 가장 최근 날짜 레코드 선택 날짜 필드를 기준으로 가장 최근 기록을 찾으려고 합니다.where 절에 latest = 1을 설정하면 오류가 발생합니다.가능하다면 도와주시기 바랍니다.DATE는 제가 분류하고 있는 분야입니다.최신 = 1과 최신 = '1'을 모두 사용해 보았습니다. SELECT STAFF_ID, SITE_ID, PAY_LEVEL, ROW_NUMBER() OVER (PARTITION BY STAFF_ID ORDER BY DATE DESC) latest FROM OWNER.TABLE WHERE END_ENROLLMENT_DATE is null AND latest = 1 WHERE 절 내의 select 목록에서 별칭을 사용할 수 없습니다(SELECT 문의 평가 순서 때문에) 또한 사용할..

sourcetip 2023.10.05

Oracle OLE DB Provider를 사용하는 동안 SQL 쿼리 매개 변수 매핑 문제를 해결하는 방법은 무엇입니까?

Oracle OLE DB Provider를 사용하는 동안 SQL 쿼리 매개 변수 매핑 문제를 해결하는 방법은 무엇입니까? Oracle OLE DB 프로바이더를 사용하여 매개 변수로 SQL 쿼리를 입력하려고 하면 다음 오류가 발생합니다. SQL 명령에서 매개 변수를 추출할 수 없습니다.공급자가 명령의 매개 변수 정보를 구문 분석하는 데 도움이 되지 않을 수 있습니다.이 경우 "SQL command from variable" 액세스 모드를 사용하면 SQL 명령 전체가 변수에 저장됩니다. 추가 정보: 공급자가 매개 변수 정보를 도출할 수 없으며 SetParameterInfo가 호출되지 않았습니다.(Microsoft OLE DB Provider for Oracle) 저는 여기에 제안된 사항을 따르려고 노력했지만..

sourcetip 2023.09.25

웹 응용프로그램에서 시간대 처리

웹 응용프로그램에서 시간대 처리 웹 애플리케이션에서 우리는 서로 다른 시간대의 국가별 날짜 시간 정보를 표시하고 입력해야 합니다.현재 국가별로 별도의 웹 서버와 별도의 데이터베이스(오라클 11g)를 유지하고 있습니다. 단일 데이터베이스(oracle 11g)로 하나의 포털에 모두 병합할 예정입니다.이 포털은 사용자 현지 시간대에 날짜와 시간을 캡처/표시해야 합니다. 지금까지 이것에 대해 검색해보았는데, 아래의 제안을 받았습니다. 1) 웹 서버 및 데이터베이스 서버의 시간대를 UTC로 설정하고 데이터(데이터 및 시간)를 가져오는 동안 사용자 로컬 시간대로 변환합니다. 이 방법을 제안하는 경우 다음과 같은 구체적인 질문을 명확히 해 주시기 바랍니다. 날짜만 캡처하는 경우가 대부분인데 항상 시간대와 함께 날짜와..

sourcetip 2023.09.25

다른 스키마의 사용자에게 권한 부여

다른 스키마의 사용자에게 권한 부여 스키마 A에 테이블이 있습니다.스키마 A의 테이블을 이용하여 스키마 B에서 뷰를 작성하였습니다. 스키마 B의 뷰에서 데이터를 선택할 수 있는 권한을 사용자에게 부여하고 싶습니다. 이것이 작동하려면 스키마 A의 테이블에서 사용자 B에게 grant 옵션을 활성화해야 한다는 것을 알고 있습니다.하지만 저는 하나의 스크립트로 하고 싶습니다(이 스크립트는 스키마 B에 있어야 합니다).스키마 A의 사용자 이름/비밀번호를 사용하여 이를 수행할 수 있는 방법이 있습니까?변경사항을 배포하기 위해 스크립트를 하나만 사용하는 것은 드문 일이 아닙니다.문제는 이러한 스크립트가 ANY 수준의 시스템 권한을 가져야 하기 때문에 파워 유저에 의해 실행되어야 한다는 것입니다.이는 일반적으로 DBA..

sourcetip 2023.09.25

ORA-01440: 정밀도나 축척을 줄이기 위해서는 수정할 열이 비어 있어야 함

ORA-01440: 정밀도나 축척을 줄이기 위해서는 수정할 열이 비어 있어야 함 제품이라는 오라클 테이블이 있습니다.다음과 같은 유형의 ID 열이 있습니다.NUMBER. 유형을 다음으로 변경하고 싶습니다.Number(20, 0)하지만 제게 이런 오류를 주고 있습니다. ORA-01440: column to be modified must be empty to decrease precision or scale 그래서 이 대본을 사용했습니다. alter table Products add ID_TEMP NUMBER(20,0); update Products set ID_TEMP = ID; update Products set ID = NULL; alter table Products modify ID NUMBER(20..

sourcetip 2023.09.25
반응형