반응형

oracle 13

결과가 반환되지 않는 경우의 ExecuteScalar() 처리

결과가 반환되지 않는 경우의 ExecuteScalar() 처리 .ExecuteScalar()Oracle 이 oracle oracle oracle oracle oracle oracle oracle oracle : sql = "select username from usermst where userid=2" string getusername = command.ExecuteScalar(); 다음 오류 메시지가 나타납니다. System.NullReferenceException:개체 참조가 개체의 인스턴스로 설정되지 않았습니다. 는 데이터베이스 에 "Database"의 때 합니다.userid=2. 는는 이이 황떻 떻떻 떻? ???DbCommand에 대한 MSDN 문서에 따릅니다.Execute Scalar: 결과 집..

programing 2023.04.01

SQL 문자열에서 앰퍼샌드 문자를 이스케이프하는 중

SQL 문자열에서 앰퍼샌드 문자를 이스케이프하는 중 이 질문에는 이미 답변이 있습니다. Oracle SQL Developer에서 변수 대체를 피하는 방법 (5개의 답변) 닫힘두 달 전에요. SQL 데이터베이스에서 특정 행을 이름으로 쿼리하려고 하는데 앰퍼샌드가 있습니다.이스케이프 캐릭터를 설정하고 앰퍼샌드를 탈출하려고 했지만, 어떤 이유에서인지 작동하지 않아 문제가 무엇인지 잘 모르겠습니다. Set escape '\' select * from V1144engine.T_nodes where node_id in( select node2_id from V1144engine.T_edges where node1_id in( select node2_id from V1144engine.T_edges where nod..

programing 2023.03.27

Oracle 테이블/컬럼/인덱스 이름이 30자로 제한되는 이유는 무엇입니까?

Oracle 테이블/컬럼/인덱스 이름이 30자로 제한되는 이유는 무엇입니까? 몇 년 전만 해도 이런 제한이 있었던 것은 이해할 수 있지만, 요즘은 확실히 이 제한이 늘어나기 쉬웠다.오브젝트에는 명명 규칙이 있습니다만, 특히 외부 키의 명명에서는 항상 이 제한에 도달하는 경우가 있습니다. 이게 왜 더 크지 않은지 아는 사람?아니면 11g이면 더 큰지? 현재 방어적으로 코드화되지 않은 스크립트를 깨는 것이 해답이라고 합니다.이것은 매우 걱정스러운 일입니다.오라클은 데이터베이스가 되려고 하고 있습니다.이러한 기능을 계속적으로 개선하지 않으면 제품이 수천 컷의 삭감으로 사망할 것입니다. 사내에서 이런 반대 의견을 볼 때마다 참아야 할 때라고 생각합니다.사용자가 Oracle 버전을 업그레이드할 때 확인하거나 유지..

programing 2023.03.27

Windows에서 oracle sql 결과를 파일로 출력하려면 어떻게 해야 합니까?

Windows에서 oracle sql 결과를 파일로 출력하려면 어떻게 해야 합니까? 나는 노력했다. select * from users save D:\test.sql create; 하지만 SQL Plus를 사용하면 "올바른 종료 없음" Windows에서 oracle sql의 경로를 지정하는 방법스풀 사용: spool myoutputfile.txt select * from users; spool off; myoutput 파일이 생성됩니다.SQL*Plus를 실행한 디렉토리에서 txt를 선택합니다. SQLPlus 부팅 시 SQL 파일(예: "tmp.sql")에서 이 파일을 실행해야 하는 경우 "output"이라는 파일로 출력합니다.txt": tmp.sql: select * from users; 명령어: sql..

programing 2023.03.22

Oracle 테이블에서 중복 행 제거

Oracle 테이블에서 중복 행 제거 Oracle에서 테스트하고 샘플 데이터를 테이블에 입력했는데, 이 과정에서 실수로 중복 레코드를 로드했기 때문에 일부 열을 사용하여 기본 키를 생성할 수 없습니다. 중복된 행을 모두 삭제하고 1개만 남겨두려면 어떻게 해야 합니까?를 사용합니다.rowid가짜 초콜릿 DELETE FROM your_table WHERE rowid not in (SELECT MIN(rowid) FROM your_table GROUP BY column1, column2, column3); 어디에column1,column2,그리고.column3각 레코드의 식별 키를 구성합니다.모든 열을 나열할 수 있습니다.톰에게 묻다 delete from t where rowid IN ( select rid ..

programing 2023.03.22

SQLFiddle이 고장났습니까?Oracle, SQL Server 오류...?

SQLFiddle이 고장났습니까?Oracle, SQL Server 오류...? 닫았습니다. 이 질문은재현할 수 없거나 오타가 원인입니다.현재 답변을 받고 있지 않습니다. 이 질문은 오타 또는 더 이상 재현할 수 없는 문제로 인해 발생합니다.비슷한 질문들이 주제일 수 있지만, 이 질문은 미래의 독자들에게 도움이 될 가능성이 적은 방법으로 해결되었다. 5년 전에 문을 닫았어요 이 질문을 개선하다 SQLFiddle for Oracle 데이터베이스에 간단한 테이블을 작성하려고 하는데 계속해서 다음과 같은 오류가 발생합니다. 스크립트 생성 오류입니다. 다음으로 실패한 간단한 스크립트를 나타냅니다. create table t1 (f1 number, f2 number, f3 number); 누가 도와줄 수 있어요?업..

programing 2023.03.17

Oracle에서 대소문자를 구분하지 않는 검색

Oracle에서 대소문자를 구분하지 않는 검색 " " "LIKE 연산자, 즉 '비교 연산자'는=이치노 대소문자를 구분하지 않는 것이 가능합니까?Oracle에서 전체 텍스트 색인을 사용하지 않고 대소문자를 구분하지 않는 검색을 수행하는 방법은 크게 세 가지가 있습니다. 최종적으로 어떤 방법을 선택하느냐는 개인의 상황에 따라 달라집니다.가장 중요한 것은 퍼포먼스를 향상시키려면 대소문자를 구분하지 않는 검색을 위해 올바른 인덱스를 작성해야 한다는 것입니다. 1. 열과 문자열의 대소문자를 동일하게 지정합니다. 또는 를 사용하여 모든 데이터를 강제로 동일한 케이스로 만들 수 있습니다. select * from my_table where upper(column_1) = upper('my_string'); 또는 se..

programing 2023.03.12

테이블 이름 주위의 따옴표는 정확히 어떤 역할을 합니까?

테이블 이름 주위의 따옴표는 정확히 어떤 역할을 합니까? 따옴표(")는 단순히 그룹화 표시의 일종이라고 생각했는데 NHIbernate 코드를 디버깅하고 있는 중인데 SELECT * FROM site WHERE site_id = 3; 정상적으로 동작합니다. SELECT * FROM "site" WHERE site_id = 3; 에러가 발생하여 테이블이 실패하거나 뷰가 존재하지 않습니다. 왜 그러고 있어?Oracle에서 식별자 주위에 큰따옴표를 붙이면 Oracle은 기본 대소문자를 구분하지 않고 식별자를 대소문자를 구분하는 방식으로 처리합니다.이름 주위에 큰따옴표로 둘러싸인 테이블(또는 열)을 작성할 경우 항상 큰따옴표로 구분하여 대소문자를 올바르게 지정해야 합니다(큰따옴표는 의미가 없습니다). Oracle..

programing 2023.03.12

Oracle에서 예약어를 피하려면 어떻게 해야 합니까?

Oracle에서 예약어를 피하려면 어떻게 해야 합니까? TSQL에서는 다음과 같은 것을 사용할 수 있습니다.Select [table] from tablename"table"이라는 이름의 열을 선택합니다. Oracle에서 예약된 단어에 대해 이 작업을 수행하려면 어떻게 해야 합니다. 편집: 대괄호, 큰따옴표, 작은따옴표, 뒷따옴표를 사용해보았으나 작동하지 않습니다. 좀 더 명확히 하기 위해 누군가가 코멘트라고 이름 붙인 칼럼이 있습니다.이것은 예약어 oracle로 선택하려고 할 때 흔들림이 발생하므로 쿼리를 해석할 때 실패합니다.Tablename에서 Select "comment"를 시도했지만 작동하지 않았습니다.제가 케이스 확인하고 올게요.빠른 검색 결과 Oracle은 큰따옴표를 사용하고 있는 것 같습니다..

programing 2023.03.12

Oracle 10g PL/SQL의 'CONTINUE' 키워드

Oracle 10g PL/SQL의 'CONTINUE' 키워드 TSQL 스토어드 프로시저를 PL/SQL로 이행하고 있는데 Oracle 10g에 CONTINUE 키워드가 없는 문제가 발생했습니다. Oracle 11g에 이 기능이 신기능으로 탑재되어 있다고 들었습니다만, 업그레이드는 선택사항이 아닙니다. 10g으로 계속하는 대신 사용할 수 있는 방법이 있습니까?회피책으로 SP의 논리를 재구성하는 것은 실용적이지 않습니다.외부 루프, IF, 중첩 IF, IF 내의 스테이트먼트 블록 끝에 CONTINUE가 있기 때문입니다. 어떤 도움이라도 주시면 감사하겠습니다.goto 및 라벨을 사용하여 계속을 시뮬레이션할 수 있습니다. DECLARE done BOOLEAN; BEGIN FOR i IN 1..50 LOOP IF ..

programing 2023.03.12
반응형