본문 바로가기

insert

(5)
[regex][mssql] INSERT | INSERT INTO expression /(INSERT+?(INTO|)\s+(.*?)|)SELECT\s+(.*?)\s*FROM\s+(.*?)\s*(WITH|)\(NOLOCK\)\s(WHERE\s(.*)\s*)?/g matches X - INSERT TPE_40C X - INSERT #TPE_40C O - INSERT TPE_40C SELECT C_COA FROM TPP_10C AS D WITH(NOLOCK) WHERE 1=1 AND C_COA = 1 GROUP BY C_COA O - INSERT INTO TPE_40C SELECT C_COA FROM TPP_10C AS D WITH(NOLOCK) WHERE 1=1 AND C_COA = 1 GROUP BY C_COA demo link https://regexr.com/44ndb
[mysql] C/U/D stored procedure 기본형 CREATE DEFINER=`root`@`%` PROCEDURE `new procedure`(IN `procTypeParam` VARCHAR(20) , IN `idxParam` INT , OUT `identity_idx` INT , OUT `error_code`INT , OUT `error_message`VARCHAR(1000) ) BEGIN DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @error_code = MYSQL_ERRNO, @text = MESSAGE_TEXT; SET `error_code` = @error_code; SET `error_message` =..
[mssql] insert multi row values INSERT INTO {{테이블}} (Code, CodeName, UpperCode, UpperCodeName, OrderNo, CodeGroup, Available, CodeDescription, Edit_Name, Edit_Date) VALUES (132, 'A1',0, NULL,0, NULL, 1, NULL, 'system', getdate()), (13101, 'A2',132, 'A1', 10, NULL, 1, NULL, 'system', getdate()), (13102, 'A3',132, 'A1', 20, NULL, 1, NULL, 'system', getdate()) * 1000개 까지 밀어넣을 수 있다. 양이 많으면 루프나 bulk insert 이용하세요.
[mssql] 맨날 헷갈리는 SET IDENTITY_INSERT ON/OFF SET IDENTITY_INSERT {{테이블#1}} ON; INSERT INTO {{테이블#1}} ( 컬럼들 ) SELECT 컬럼들 FROM {{테이블#2}} SET IDENTITY_INSERT {{테이블#1}} OFF; 테이블에 자료 밀어넣을때 매번 헷갈리는 identity 컬럼 ON/OFF 시키기
[mssql] 튜닝 #1 - insert , delete 로 인한 duration sql profiler 를 돌려보면 read / write row는 별로 없지만 duration 이 2000 ms 이상 씩 잡히는 쿼리들이 있습니다. 아무리 index 와 나누기 실행을 해도 쿼리 실행 시간이 줄어들지 않습니다. 이유는 db 의 복구 모델의 구분에서 찾을 수 있는데요. insert, delete 시에는 로그를 생성하는데 전체, 대량로그 모델의 경우 로그 생성까지 실행 시간에 포함됩니다. 이런 작업들이 빈번한 테이블만 따로 단순 복구 모델의 db로 모아서 처리하면 insert,delete 로 인한 비용이 발생하지 않습니다. 단순 모델의 db에 적당한 테이블의 성격을 정리하면 1. 빈번하게 select 되는 퍼포먼스를 요하는 테이블 2. 원시 데이터가 존재하고 가공된 정보를 모으는 테이블 정..