기본 콘텐츠로 건너뛰기

라벨이 SQL인 게시물 표시

문자열 함수들

1. SUBSTR     문자열의 일부분을 돌려주는 함수입니다.     update T_LINE_DATA_120588 set draw_no='ID-'||AREA||SUBSTR(draw_no , 3) 2. REPLACE     문자열의 일부분을 주어진 문자열로 대체하는 함수입니다.     update T_LINE_DATA_120588 set draw_no=replace(draw_no , '1A-1A' , '1A') where     draw_no like 'ID-1A-1A%'

오라클에 이진 데이타 쓰기 - 예제

오라클에 이진 데이타를 쓰는 예제입니다. int bytes; string que = "SELECT * FROM T_PROJECT_SETTING" ; FileStream fs = new FileStream(sPrjIniFilePath, FileMode.Open, FileAccess.Read); byte [] byteArray = new byte [fs.Length - 1 ]; fs.Read(byteArray, 0 , byteArray.Length); fs.Close(); FileInfo fi = new FileInfo(sPrjIniFilePath); string filename = fi.Name; using (OracleCommand comm = new OracleCommand( "INSERT INTO T_PROJECT_SETTING (C_FILE_NAME,C_SETTING_DATA) VALUES('" + filename + "', :FILEDATA)" , Oracleconn)) { OracleParameter para = new OracleParameter(); para.ParameterName = ":FILEDATA" ; para.OracleDbType = OracleDbType.Blob; para.Direction = ParameterDirection.Input; para.Size = byteArray.Length - 1 ; para.Value = byteArray; comm.Parameters.Add(para); int cntResult = comm.ExecuteNonQuery(); comm.Parameters.Clear(); }

Oracle - 간단한 sql 문

원문보기 테이블생성 CREATE  TABLE   EMP2 ( idx number not null primary key, name varchar2(20) ); 칼럼추가 ALTER   TABLE  emp  ADD  (addr VARCHAR2(50)); 칼럼변경 ALTER   TABLE  emp  MODIFY   (ename VARCHAR2(50));  칼럼삭제 ALTER   TABLE   table _name  DROP COLUMN   column_name 제약조건삭제 ALTER   TABLE  emp   DROP PRIMARY KEY  ; 유저가 소유한 모든 테이블 보기 SELECT  table _name FROM   USER_ TABLE S ; TABLE내의 모든 데이터 삭제 TRUNCATE TRUNCATE removes  all rows  from a table. The operation cannot be rolled back and no triggers will be fired. As such, TRUCATE is faster and doesn't use as much undo space as a DELETE. SQL> TRUNCATE TABLE emp; Table truncated. SQL> SELECT COUNT(*) FROM emp; COUNT(*) ---------- 0 [출처]   [oralce] 간단 sql 문 모음 | 작성자   피쉬

Join을 이용한 SELECT

EMP와 DEPT를 DEPTNO로 조인하여 쿼리하는 예제입니다. 예제: SELECT EMP.*,DEPT.DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;

SQL - 테이블 복사

B 테이블을 A 테이블로 복사합니다. [A,B 테이블이 같은 데이타베이스에 있을 경우] SELECT * INTO A FROM B [MS Access일 경우 - A,B 테이블이 서로 다른 데이타베이스에 있을 경우] SELECT * INTO A FROM B IN ' MDB 파일 경로 '

오라클 쿼리 문제

제 랩탑에 오라클 9i를 기본으로 설치하고 "scott" , "tiger"로 접속했습니다. 그리고 테이블을 하나 만들고 select 쿼리를 하나 실행했는데 예상치 못하게 에러가 발생했습니다. 현상은 쿼리 시 칼럼 이름을 " 로 묶어 줘야 한다는 것이고, 더욱이 이상한 것은 칼럼 이름이 대소문자를 구분한다는 것입니다. 아래는 캡쳐한 이미지입니다. 칼럼 이름은 각각 Prefix,Run_No 입니다. 오류 발생 쿼리 성공 쿼리 실패("로 묶지 않았을 때) 정말 처음 경험하는 현상입니다. ;2011.05.27 현재까지 알아본 바로는 칼럼 이름에 대,소문자가 섞여 있을때 위와 같은 현상이 발생하는 것 같습니다.

Database Unicode Column

테이블을 생성할때 필드가 유니코드를 지원할려고 하면 데이타 타입을 VARCHAR로 하는 대신 NVARCHAR로 하면 유니코드 지원 가능합니다. (오라클에서는 NVARCHAR대신에 NVARCHAR2) 그리고 INSERT INTO시 문자열 앞에 N 을 붙여줘야 합니다. 예) INSERT INTO TSB_MLS_MASTER(TSB_CLASSNAME) VALUES( N '한글') 예약어를 컬럼 이름으로 사용하기 위해서는 MS-SQL Server나 Access(MS계열)에서는 [ FROM ] 을 사용하고 오라클에서는 " FROM " 을 사용합니다.

B 테이블의 한 레코드값 전부를 A 테이블에 바로 INSERT 하는 방법

SQL = INSERT INTO A SELECT * FROM B WHERE C_DATA1 = '값' 이제껏 프로그래밍을 하면서 가끔 Database를 사용해 왔었지만 아는 것이라고는 고작 SELECT,DELETE,INSERT 문 정도이다. Database의 지식을 절실히 느끼고 있는 요즘이다. 이번에도 위와 같은 문을 몰랐더라면 SELECT and INSERT 두개이 SQL문을 사용했을 것이다. 2011.06.14 물론 위의 두 테이블 A,B는 같은 구조를 가져야 합니다.