반응형

빈 컬럼에 1씩 증가시켜서 데이터를 넣는 방법

UPDATE TABLE명 SET 컬럼명 = ROWNUM

 

ROWNUM을 이용하여 빈값에 UPDATE를 1씩 증가시켜서 하는 방법입니다.

 

만약 값이 있는 상태라면, ROWNUM 대신 아래를 참고해주세요.

UPDATE 테이블 명 SET 컬럼명 =  NVL(MAX(컬럼명), 0)+ 1

 

 

 

 

반응형
SELECT TO_DATE('20210408', 'YYYYMMDD')- TO_DATE('20210406', 'YYYYMMDD') FROM DUAL;



반응형

오라클 버전 확인 하는 SQL

SELECT * FROM PRODUCT_COMPONENT_VERSION;
반응형
TO_CHAR ((숫자), 'FM999999999999990.00') AS 알리아스

 

bold 처리 해둔 곳은 원하는 소수점 자리만큼 적으면 됩니다.

 

2개면 2자리 , 3개면 3자리 까지

EX) 12345.1 => 12345.10  (2자리)

EX) 12345.1 => 12345.100 (3자리)

 

TO_CHAR ((숫자), 'FM999,999,999,999,990.00') AS 알리아스

중간에 콤마를 넣으면 3자리 마다 ,가 찍힙니다.

 

EX) 12345.1 => 12,345.10  (2자리)

EX) 12345.1 => 12,345.100 (3자리)

반응형

Oracle.ManagedDataAccess.Client를 사용한 예제 입니다.

using Oracle.ManagedDataAccess.Client;

namespace DB_Data
{
	public class DB_Connection_Test
	{
		DataTable dt = new DataTable();
		DataSet ds = new DataSet();

		public string DB_Test_haha()
		{
			string con_str = "User ID= 디비아이디;Password=디비 비밀번호;pooling=false;Data Source=(DESCRIPTION=";
			con_str += "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=아이피)(PORT=포트번호)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=서비스이름ORCL ETC..)));";

			OracleConnection conn = new OracleConnection(con_str); //DB 커넥션 객체 생성
			conn.Open(); //DB 오픈

			OracleDataAdapter oda = new OracleDataAdapter(sqlstr, conn); //쿼리 보내고 받기
			oda.Fill(dt); //데이터 테이블에 데이터 넣기 (DataSet도 가능)

			conn.Close(); //디비 종료

			return strJsonData;
		}
	}
}
반응형

1. 바꾸려고 하는 컬럼을 하나 똑같이 만든다.

EX) BOARD_ID => BOARD_ID2

 

2.BOARD_ID2에 원하는 PK의 값을 꽂아 넣는다. (시퀀스 값)

UPDATE [테이블] A SET A.BOARD_ID2 = (SELECT TO_CHAR(B.NUM,'000000000') FROM 
(SELECT ROW_NUMBER() OVER(ORDER BY BOARD_ID) NUM , BOARD_ID FROM [테이블]) B 
WHERE B.BOARD_ID = A.BOARD_ID)

 

3.원하는 값이 BOARD_ID2에 들어갔으면 이제 업데이트 다시 해준다.

UPDATE CRM_BOARD_MST SET BOARD_ID = BOARD_ID2

 

결과값이 바뀌었는지 확인해본다.

 

반응형
select 
        table_name, 
        num_rows,
        num_rows * avg_row_len, 
        avg_row_len,
        round((num_rows * avg_row_len/1024/1024),2) "SIZE(Mb)", 
        round((num_rows * avg_row_len/1024/1024/1024),2) "SIZE(Gb)",
        last_analyzed
from user_tables
where table_name='테이블 네임'
반응형
SELECT 'ALTER TABLE ' || TABLE_NAME || ' MODIFY ' || COLUMN_NAME || ' ' || DATA_TYPE || '(' || DATA_LENGTH  || ' CHAR);' 
FROM ALL_TAB_COLUMNS 
WHERE DATA_TYPE IN ('VARCHAR2') AND OWNER = 'DB사용자이름'

 

+ Recent posts