예시
예시1)
DECLARE
BEGIN
--I : 자동 선언 정수형 변수
FOR I IN 10..127 LOOP
INSERT INTO CONT_US(CU_CODE, NAME, EMAIL, SUBJECT, MESSAGE)
VALUES(
(SELECT NVL(SUBSTR(MAX(CU_CODE),1,2) || TRIM(TO_CHAR(SUBSTR(MAX(CU_CODE),3) + 1,'000')),'CU001')
FROM CONT_US)
,'개똥이' || I
, 'test@test.com'
,'제목' || I
, '내용' || I);
END LOOP;
--commit;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERR : ' || SQLERRM);
END;
/
commit;
예시2
I : 자동 선언 정수형 변수 => 원래는 DECLARE에서 변수 선언해야되는데 I는 선언 안해도 된다
TO_CHAR(I,'00') ⇒ 00 형식으로 표현
ex)
TO_CHAR(1,'00') ⇒ 01
TO_CHAR(30,'00') ⇒ 30
DECLARE
BEGIN
--I : 자동 선언 정수형 변수
FOR I IN 21 .. 77 LOOP
INSERT INTO LPROD(LPROD_ID, LPROD_GU, LPROD_NM)
VALUES(I, 'P7'||TRIM(TO_CHAR(I,'00')), '테스트'||I);
END LOOP;
COMMIT;
END;
/
예시3
SELECT MAX(LPROD_ID)+1 FROM LPROD;
/
DECLARE
--변수 : 일반(SCALAR) 변수, 참조형 변수, COMPOSITE(배열) 변수
--V_LPROD_ID NUMBER := 0;
V_LPROD_ID LPROD.LPROD_ID%TYPE := 0;
BEGIN
--PL/SQL에서 SELECT랑 INTO는 바늘과 실의 관계. 수빈이랑 유진이의 관계. 쌤이랑 272쌤과의 관계
SELECT MAX(LPROD_ID)+1 INTO V_LPROD_ID
FROM LPROD;
--I : 자동 선언 정수형 변수
FOR I IN V_LPROD_ID .. 735 LOOP
INSERT INTO LPROD(LPROD_ID, LPROD_GU, LPROD_NM)
VALUES(I, 'U'||TRIM(TO_CHAR(I,'000')), '테스트'||I);
END LOOP;
COMMIT;
END;
/
'DB > SQL' 카테고리의 다른 글
ROW_NUMBER 이용한 쿼리문(페이징처리 쿼리문) (0) | 2024.05.14 |
---|---|
여러 파일 중 첫번째 결과값만 가져오는 쿼리문 (상관관계 서브 쿼리) (0) | 2024.05.11 |
등록번호 쿼리문 (0) | 2024.04.27 |
기존 데이터 타입 변경하기 (0) | 2024.04.23 |
한글 초중종성 검색방법(자음만 하는것도 가능) (0) | 2024.01.12 |