--============CURSOR로 사용할 파라미터============== DECLARE @INDEX INT, @SIMUL_VER_ID VARCHAR(100), @LOCAT_CD VARCHAR(100), @RES_CD VARCHAR(100), @PRDUCT_DATE VARCHAR(8), @ITEM_CD VARCHAR(100) --============CURSOR로 사용할 파라미터============== SET @INDEX = 0; --INDEX초기화 DECLARE CUR CURSOR FOR --CUR라는 이름의 커서 선언 SELECT VER_ID , LOCAT , RES , DATE , ITEM FROM TEST_TABLE WHERE 1=1 OPEN CUR --커서 오픈 FETCH NEXT FRO..
SELECT DB_NAME(ST.dbid) DBName , OBJECT_SCHEMA_NAME(ST.objectid,ST.dbid) SchemaName , OBJECT_NAME(ST.objectid,ST.dbid) SPName , QS.total_elapsed_time , QS.creation_time , QS.last_execution_time , ST.text FROM SYS.DM_EXEC_QUERY_STATS QS CROSS aPPLY SYS.dm_exec_sql_text(QS.PLAN_HANDLE)ST JOIN SYS.dm_exec_cached_plans CP ON QS.plan_handle = CP.plan_handle ORDER BY creation_time DESC https://sagitta..

테이블은 미리 만들어놔야함 컬럼명은 상관없고 컬럼 갯수랑 형식만 맞추면 됨.nvarchar(100)정도로 하는게 에러가 잘 안뜸 BULK INSERT dbo.ITEM FROM 'C:\파일경로\ITEM_MST.csv' -- 서버의 실제 파일 경로 WITH ( FORMAT = 'CSV', fieldterminator = ';' , -- 컬럼 구분 문자열 FIELDQUOTE = '"', rowterminator = '\n' , -- 행 구분 문자열 firstrow = 2, -- 시작 행의 Index를 지정 CODEPAGE = '65001' ) --SELECT * FROM _POC_ITEM WITH (NOLOCK) -- ROLLBACK TRANSACTION COMMIT TRANSACTION 가 안될경우가 많다...
- MSSQL 날짜 변환표 (기준날짜를 대상으로 CONVERT 실행하여 날짜 형변환) 번호 쿼리 결과 코드 0 CONVERT(CHAR(19), DATETIME, 0) 01 02 2000 1:14PM MM DD YYYY H:MM 1 CONVERT(CHAR(10), DATETIME, 1) 01/02/2000 MM/DD/YYYY 2 CONVERT(CHAR(8), DATETIME, 2) 00.01.02 YY.MM.DD 3 CONVERT(CHAR(8), DATETIME, 3) 02/01/00 DD/MM/YY 4 CONVERT(CHAR(8), DATETIME, 4) 02.01.00 DD.MM.YY 5 CONVERT(CHAR(8), DATETIME, 5) 02-01-00 DD-MM-YY 6 CONVERT(CHAR(8..

SQL SERVER AGENT가 서버에서 항상 돌아야 정상인데 고객측에서 쓸데없이 배치파일로 만들어달라고 할 경우가 있다. 기본적으로 프로시저를 배치파일로 만드는건 더보기 @echo off osql -U %1 -P %2 -S %3 -d msdb -Q "EXIT(DECLARE @return_value int EXEC @return_value = dbo.[프로시저명] SELECT @return_value)" EXIT /b %ERRORLEVEL% %1 %2 %3은 순서대로 변수명이다. -U는 아이디 -P는 패스워드 -S는 서버명이다. 일반적으로 sa password localhost를 넣으면 적절하게 실행될것 같은데 서버상황에 따라 다르다. 그럼이제 위에 적힌 코드를 메모장에 넣고 .bat으로 저장하면 끗 그..