'Language/SQL'에 해당되는 글 4건
- 2011/06/04 :: 오라클 테이블 생성 스크립트 (1)
- 2011/06/04 :: [ORACLE] 흐름 제어문
- 2011/06/04 :: [MSSQL] 흐름 제어문
- 2011/06/04 :: CONVERT 함수
ex) EVNT03TT
*/
CREATE TABLE EVNT03TT (
REGDATE DATE DEFAULT SYSDATE NOT NULL
, USERID VARCHAR2 NOT NULL
, EVENTID VARCHAR2 NOT NULL
, EVENTNO NUMBER NOT NULL
, USE_CNT NUMBER DEFAULT 0 NOT NULL
, REMINE_CNT NUMBER DEFAULT 0 NOT NULL
, CONSTRAINT EVNT03TPK PRIMARY KEY (REGDATE, USERID, EVENTID)
);
INDEX :
Naming Guide
ex) EVNT03S1
CREATE INDEX EVNT03S1 ON EVNT03TT (USERID)
*/
SEQUENCE :
ex) EVNT03SQ
CREATE SEQUENCE EVNT03SQ;
*/
*/
-- 테이블 및 컬럼 주석 (테이블의 주석과 컬럼의 주석을 써서 보내주셔야 나중에 도움이 많이 됩니다.)
COMMENT ON TABLE EVNT03TT IS '에이스 카드 이벤트 테이블';
COMMENT ON COLUMN EVNT03TT.USERID IS '회원 아이디';
COMMENT ON COLUMN EVNT03TT.EVENTID IS '이벤트 종류(응모1, 응모2)'
COMMENT ON COLUMN EVNT03TT.EVENTID IS '상품번호(1~13)'
COMMENT ON COLUMN EVNT03TT.USE_CNT IS '에이스 카드 사용 장수'
COMMENT ON COLUMN EVNT03TT.REMINE_CNT IS '남은 에이스 카드'
COMMENT ON COLUMN EVNT03TT.REGDATE IS '사용일자';
PL/SQL
IF / ELSE / ELSIF
IF <조건> THEN
ELSIF <조건> THEN
ELSE
END IF;
FOR IN LOOP
FOR i IN <최소값> .. <최대값> LOOP -- i는 선언하지 않아도 됨
실행문
END LOOP;
DECODE
SELECT DECODE(<비교값>, <값>, <참일경우 리턴값>, <아니오일경우 값>) FROM DUAL;
IF / ELSE
IF <조건>
BEGIN -- 생략 가능
END
ELSE
BEGIN -- 생략 가능
END
WHILE / BREAK / CONTINUE
- WHILE 다음에 조건으로 반복을 하고
BREAK를 만나면 WHILE 문 종료, CONTINUE 를 만나면 WHILE 으로 돌아간다
WHILE <조건>
BEGIN
반복 실행할 문장
END
CASE 문
SELECT CASE <변수> WHEN <값> THEN <리턴값> ESLE <리턴값> END FROM <테이블>
SELECT CASE WHEN <조건> THEN <리턴값> ELSE <리턴값> END FROM <테이블>
날짜 변환
Oracle : TO_CHAR(sysdate, 'YYYYMMDD HH24MISS')
MSSQL : CONVERT(VARCHAR(10), GETDATE(), 120) // 2003-10-01(120), 2003/10/01(111), 20031001(112)..
숫자형 변환
Oracle : TO_CHAR(1234567, 'L1,234,567') => w1,234,567
MSSQL : CONVERT(VARCHAR(10), CONVERT(money, 1234567), 1) => 1,234,567
출처 : 프로그램사랑, MY HAPPY SONG
