본문 바로가기

Database/MS-SQL

DB 전체 텍스트 검색 서비스 전체 텍스트 검색 서비스(Full Text Search Service)는 SQL Server 외부기능임 긴 문장으로 구성된 열의 내용을 검색할 때 외부 인덱스를 사용해서 빠른 시간에 검색하는 것 전체 텍스트 검색 서비스가 작동중이여야한다 SQL2005에서 윈도우 관리도구 - 서비스 에서 보기 개요 신문기사와 같이 , 텍스트로 이루어진 문자열 데이터의 내용을 가지고 생성한 인덱스를 말함 SQL Server의 인덱스와 차이점 전체 텍스트 검색 엔진(MSFTESQL)이 생성하는 특수 토큰 기반 기능의 인덱스 외부 파일로 저장됨 테이블 당 하나만 생성 char, varchar, nvarchar, text, ntext 등의 열에만 생성이 가능 전체 텍스트 인덱스 생성 구문 CREATE FULLTEXT INDEX .. 더보기
쿼리 관련 소스 모음 더보기
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) 더보기