The Debugging Chronicles : "코드의 미학"

PRODUCT.SQL - NVL 함수 본문

DBMS

PRODUCT.SQL - NVL 함수

sweetseonah1004 2024. 7. 30. 16:14
CREATE TABLE PRODUCT(
	NUM INT PRIMARY KEY,
	NAME VARCHAR(500) NOT NULL,
	PRICE INT,
	CNT INT DEFAULT 0 --기본 재고는 0
);
                --PK 문제 - 시스템에서 부여해야한다
                -- ((현재 테이블의 PK 값중에서 제일 큰 값)+1,? ,?)
                --현재 테이블의 PK 값중에서 제일 큰 값)+1
                -- SELECT MAX(NUM)+1 FROM PRODUCT
                        -- null + 1 => 계산 안됨 = > NVL : 만약 null이면 0을 반환해줘 라는 함수
                -- MAX(컬럼명) : 해당 컬럼의 최대값
                -- 컬럼 == 멤버변수 == 속성 == Property == attirbute == 필드
                -- NVL(왼쪽 인자 계산값이 NULL이라면, 오른쪽 인자 값을 반환)
                -- NVL()
INSERT INTO PRODUCT (NUM,NAME,PRICE) VALUES ((SELECT NVL(MAX(NUM),0)+1 FROM PRODUCT),?,?);

UPDATE PRODUCT SET CNT=CNT-? WHERE NUM=?;
DELETE FROM PRODUCT WHERE NUM=?;

SELECT NUM,NAME,PRICE,CNT FROM PRODUCT WHERE NUM=?;
SELECT NUM,NAME,PRICE,CNT FROM PRODUCT WHERE NAME LIKE '%?%';
SELECT NUM,NAME,PRICE,CNT FROM PRODUCT ORDER BY PRICE;

DROP TABLE PRODUCT;

'DBMS' 카테고리의 다른 글

정규화 - 2 (JOIN문)  (0) 2024.08.12
정규화  (0) 2024.08.12
MVC 패턴 , SQL , 웹크롤링  (0) 2024.07.30