일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JDBC
- jpa
- ubuntu
- Python
- Tomcat
- 오픈소스
- MySQL
- STS
- spring
- Open Source
- Source
- maven
- SpringBoot
- IntelliJ
- 문서
- 설정
- Eclipse
- error
- git
- myBatis
- MSSQL
- Core Java
- Thymeleaf
- AJAX
- Docker
- PostgreSQL
- JavaScript
- Exception
- oracle
- Spring Boot
- Today
- Total
목록Database (84)
헤르메스 LIFE
MSSQL 의 EXCEPTION 처리 방법 #1 BEGIN TRY /* 처리구분 */ END TRY BEGIN CATCH /* 오류처리 */ END CATCH 예제 BEGIN TRY SELECT 1 / 0 END TRY BEGIN CATCH SELECT @ERRMSG = N'오류메시지' SELECT @ERROR_NUMBER = ERROR_NUMBER() -- 오류 번호를 반환합니다. , @ERROR_SERVERITY = ERROR_SERVERITY() -- 심각도를 반환합니다. , @ERROR_STATE = ERROR_STATE () -- 오류 상태 번호를 반환합니다. , @ERROR_PROCEDURE = ERROR_PROCEDURE () -- 오류가 발생한 저장 프로 시저 또는 트리거의 이름을 반환합니..
SELECT NAME AS COLNAME , REMARKS , TYPENAME , COLTYPE , NULLS AS NULLABLE , LENGTH , SCALE , LONGLENGTH FROM SYSIBM.SYSCOLUMNS WHERE TBCREATOR = '테이블스키마' AND TBNAME = '테이블명' ORDER BY COLNO
IF [NOT] EXISTS ( 해당 데이터가 존재 하는지 셀렉트 ) BEGIN -- 데이터가 있는 경우 실행할 쿼리 END ELSE BEGIN -- 데이터가 없는 경우 실행할 쿼리 END IF EXISTS ( SELECT 컬럼1 FROM 테이블 WHERE 컬럼1 = @컬럼1 ) BEGIN -- 데이터가 있는 경우 실행할 쿼리 UPDATE 테이블 SET 컬럼2 = @컬럼2 WHERE 컬럼1 = @컬럼1 END ELSE BEGIN -- 데이터가 없는 경우 실행할 쿼리 INSERT INTO 테이블(컬럼1, 컬럼2) VALUES(@컬럼1, @컬럼2) END
방법 -- 컬럼명 변경하기 SP_RENAME '{TABLE_NAME}.{TARGET_COLUMN_NAME}', '{NEW_COLUMN_NAME}', 'column' -- 컬럼타입 변경하기 ALTER TABLE {TABLE_NAME} ALTER COLUMN {COLUMN_NAME} {ATTRIBUTES} -- 컬럼 추가하기 ALTER TABLE {TABLE_NAME} ADD {COLUMN_NAME} {ATTRIBUTES} -- 컬럼 삭제하기 ALTER TABLE {TABLE_NAME} DROP COLUMN {COLUMN_NAME} 예제 -- 컬럼명 변경하기 SP_RENAME 'ACCOUNT.LASTNAME', 'NAME', 'column' -- 컬럼타입 변경하기 ALTER TABLE ACCOUNT ALTE..
DECLARE @TABLE_NAME NVARCHAR(50) = '테이블명'; SELECT D.COLORDER AS COLUMN_IDX /* Column Index */ , A.NAME AS TABLE_NAME /* Table Name */ , C.VALUE AS TABLE_DESCRIPTION /* Table Description */ , D.NAME AS COLNAME /* Column Name */ , E.VALUE AS COLDESC /* Column Description */ , F.DATA_TYPE AS COLTYPE /* Column Type */ , F.CHARACTER_OCTET_LENGTH AS COLLEN /* Column Length */ , D.SCALE AS SCALE /* Col..
출처 : riptutorial.com/sql-server/example/8084/date---time-formatting-using-format SQL Server 2012 부터 사용할 수 있다고 합니다. SELECT FORMAT(GETDATE(), 'yyyyMMddHHmmss') 결과 : 20201201181615 You can utilize the new function: FORMAT(). Using this you can transform your DATETIME fields to your own custom VARCHAR format. Example DECLARE @Date DATETIME = '2016-09-05 00:01:02.333' SELECT FORMAT(@Date, N'dddd, MMM..
- 기준날짜 2000년 01월 02일 13시 14분 15.678초 기준 날짜 형변환 - MSSQL 날짜 변환표 (기준날짜를 대상으로 CONVERT 실행하여 날짜 형변환) 번호 쿼리 결과 코드 0 CONVERT(CHAR(19), DATETIME, 0) 01 02 2000 1:14PM MM DD YYYY H:MM 1 CONVERT(CHAR(10), DATETIME, 1) 01/02/2000 MM/DD/YYYY 2 CONVERT(CHAR(8), DATETIME, 2) 00.01.02 YY.MM.DD 3 CONVERT(CHAR(8), DATETIME, 3) 02/01/00 DD/MM/YY 4 CONVERT(CHAR(8), DATETIME, 4) 02.01.00 DD.MM.YY 5 CONVERT(CHAR(8)..
테이블 정보( 테이블 Comment + 컬럼 Comment + PK ) + Camel 표기 SELECT A.COLUMN_NAME , SUBSTR(LOWER(A.COLUMN_NAME), 1,1) || SUBSTR(REPLACE(INITCAP(A.COLUMN_NAME), '_'), 2) AS INIT_COL_CAP_NAME , B.COMMENTS , CASE WHEN LENGTH(C.INDEX_NAME) > 0 THEN 'PK' ELSE '' END AS PK_DIV , D.COMMENTS TABLE_COMMENTS FROM ALL_TAB_COLUMNS A , ALL_COL_COMMENTS B , ALL_IND_COLUMNS C , ALL_TAB_COMMENTS D WHERE A.TABLE_NAME = B...
SELECT NVL(MIN(SEQ), 0) + 1 NEW_SEQ FROM ( SELECT SEQ , LEAD(SEQ, 1, SEQ) OVER(ORDER BY SEQ) NEXT_SEQ FROM 테이블명 ) WHERE SEQ + 1 != NEXT_SEQ AND ROWNUM = 1 ;
Oracle 에 있던 Sequence 가 MSSQL 에도 있습니다. MSSQL 2012 버전 이상 부터 지원된다고 합니다. 생성하는 구문은 비슷합니다. Oracle Sequence 생성 CREATE SEQUENCE 시퀀스명 START WITH 시작값 /* 시작값의 디폴트값은 증가일때 MINVALUE 감소일때 MAXVALUE */ INCREMENT BY 증감숫자 /* 양수면 증가 음수면 감소 디폴트는 1 */ NOMINVALUE OR MINVALUE 최소값 /* NOMINVALUE : 디폴트값 설정, 증가일때 1, 감소일때 -1028 MINVALUE : 최소값 설정, 시작숫자와 작거나 같아야하고 MAXVALUE보다 작아야함 */ NOMAXVALUE OR MAXVALUE 최대값 /* NOMAXVALUE : ..