본문 바로가기

Database

쿼리 관련 소스 모음 더보기
DB XML 데이터 형식 구문 SELECT * FROM userTbl FOR XML RAW, ELEMENTS, XMLSCHEMA 컨트롤 + T 를 누르고 F5번 누르면 ~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! TEXT 형식으로 나온다 컨트롤 + D 를 누르고 F5번 누르면 ~!!!!!!!!!!! MSSQL로 볼수있다 SELECT * FROM userTbl FOR XML RAW, ELEMENTS, XMLSCHEMA SELECT * FROM userTbl FOR XML RAW, ELEMENTS (가장효율적으로 보는것) SELECT * FROM userTbl FOR XML RAW //////////////////////////////////////////////////////////////////// //////.. 더보기
DB 테이블변경 트리거 롭 테이블고 ARTER 테이블 막기 트리거 USE master CREATE DATABASE sqlDB GO USE sqlDB CREATE TABLE userTbl -- 사용자테이블 ( userID nchar(8) NOT NULL PRIMARY KEY, -- 사용자아이디 name nvarchar(10) NOT NULL, -- 이름 birthYear int NOT NULL, -- 출생년도 addr nchar(4) NOT NULL, -- 지역(경기,서울,경남,전북식으로2글자만입력) mobile1nchar(3), -- 휴대폰의국번(011, 016, 017, 018, 019, 010 등) mobile2 nchar(8), -- 휴대폰의나머지전화번호(하이픈제외) height smallint -- 신장 ) GO CREATE TABLE buyTbl -- 사용자구.. 더보기
DB 트리거 문장 삽입하고 롤백 하기(저장안되게) SELECT * FROM userTbl; TRUNCATE TABLE userTbl;-- 다지우자~!! SELECT * FROM backup_userTbl; CREATE TRIGGER trg_insertUserTbl-- 데이터 안들어가는 티리거 ON userTbl AFTER INSERT -- 삽입 후에 작동하도록 지정-- 여기서 데이터가 들어가면 롤빽시키게 만들었다 AS RAISERROR(N'데이터의 입력을 시도했습니다.',10,1) RAISERROR(N'귀하의 정보가 서버에 기록되었습니다.',10,1) RAISERROR(N'그리고, 입력한 데이터는 적용되지 않았습니다.',10,1) ROLLBACK TRAN; INSERT INTO userTbl VALUES(N'ABC', N'에비씨', 1977, N'서울'.. 더보기
DB 트리거 백업트리고 사용법 INSERT INTO SELECT 설명 CREATE TRIGGER trg_BackupUserTbl -- 트리거 이름 ON userTbl -- 트리거를 부착할 테이블 AFTER UPDATE,DELETE -- 삭제,수정 후에 작동하도록 지정 AS DECLARE @modType NCHAR(2) -- 변경 타입 IF (COLUMNS_UPDATED() > 0) -- 업데이트 되었다면 BEGIN SET @modType = '수정' END ELSE -- 삭제되었다면, BEGIN SET @modType = '삭제' END -- delete 테이블의 내용(변경전의 내용)을 백업테이블에 삽입 INSERT INTO backup_userTbl SELECT userID, name, birthYear, addr, mobile1, mobile2,-- 데이터 height.. 더보기
DB 트리거 (TRIGGER ) DML트리거와 DDL트리거 DCL트리거 관계형 데이터 베이스를 한다면 트리거를 사용할줄 알아야한다 DDL(Data Definition Language) 은 데이터베이스의 스키마 객체를 생성(CREATE), 변경(ALTER), 제거(DROP) 하거나 권한의 부여나 박탈(GRANT, REVOKE), 주석(COMMENT), 자료의 버림(TRUNCATE) 등을 수행하는 문장의 집단을 의미한다. 각 문장은 CREATE, ALTER, DROP, TRUNCATE, GRANT, REVOKE, COMMENT 등으로 시작한다. 이 밖에도 많은 종류의 DDL이 존재한다. 그러나 PL/SQL 블록에서는 DDL을 사용할 수 없다. DML(Data Manipulation Language)은 스키마 객체의 데이터를 입력(INSERT), 수정(UPDATE), [Manip.. 더보기
DB CASE 문을 2개 안쓰고 한개로쓰기 use study_exam2 SELECT * FROM sale SELECT prod_code ㅊ FROM sale WHERE sale_ymd LIKE '200801%' GROUP BY prod_code SELECT prod_code , CASE WHEN SUM(sale_qty) 더보기
DB CASE문 LEFT RIGHT SUBSTRING함수 C#의 스위치문과 같은형식 CASE문은 데이터가 세로로가 아니라 가로로 나온다 SELECT sale_ymd, --케이스 시작 CASE WHEN SUBSTRING (sale_ymd, 5,2) = '01' THEN -- SUBSTRING 값이 01 이면 1월달해라 '1월달'-- CASE WHEN [] = THEN [] WHEN SUBSTRING (sale_ymd, 5,2) = '02' THEN '2월달' WHEN SUBSTRING (sale_ymd, 5,2) = '03' THEN '3월달' ELSE '몰라' END --케이스 끝 FROM sale WHERE sale_ymd LIKE '2008%' SELECT CASE WHEN SUBSTRING (sale_ymd, 5,2) = '01' THEN sale_qty.. 더보기