일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 웹퍼블리셔종말
- 마이너스의 의미
- typesinstall
- asp.net core
- 메일수신거부 프로세스
- locofy.ai
- 개발
- 메일수신거부처리
- ChatGPT
- JWT 토큰 인증 로그인 쿠키 설정
- ts7016
- 하마모양
- classNames
- nodejs
- pnpm
- 웹퍼블리셔전망
- 곧아빠됨
- 터미널옵션
- 초보
- @types
- 스케쳐스아치핏
- .netcore
- JWT 토큰
- 게시판
- json pretty
- 아들에게
- 패키지관리자
- TS70016
- 개발언어
- c#
- Today
- Total
목록DataBaseManagementSystem (12)
I am maker
ALTER TRIGGER 트리거이름 ON 테이블이름 FOR DELETE, INSERT, UPDATE --삭제,입력,업데이트시 일어난다. AS BEGIN SET NOCOUNT ON DECLARE @ACTION AS CHAR(1)--삭제,입력,업데이트 구분자 SET @ACTION='I'--기본적으로 입력IF EXISTS(SELECT * FROM DELETED)--삭제가 있으면? 업데이트 또는 삭제BEGINSET @ACTION=(CASE WHEN EXISTS(SELECT * FROM inserted) THEN 'U' ELSE 'D' END) END IF @ACTION='D'BEGIN--삭제시 수행할 쿼리들ENDELSE IF @ACTION='U'BEGIN--업데이트시 수행할 쿼리들END ELSE BEGIN--입..
SET CONTEXT_INFO를 사용해요.커넥션마다 지정할 수 있는 변수입니다. --변수 입력 DECLARE @CONTEXT_INFO varbinary(128) SET @CONTEXT_INFO =cast('USER_SEQ='+CONVERT(varchar(10),@USER_SEQ)+REPLICATE(' ',128) as varbinary(128)) SET CONTEXT_INFO @CONTEXT_INFO --변수 출력 DECLARE @USER_SEQ int ,@sCONTEXT_INFO varchar(128)SELECT @sCONTEXT_INFO=CAST(CONTEXT_INFO() AS VARCHAR) FROM master.dbo.SYSPROCESSES WHERE SPID=@@SPIDIF LEFT(@sCONT..
SELECT SCOPE_IDENTITY() --: 현재 스크립트 범위에있는 입력 자동증가값SELECT @@IDENTITY() --: 전체 세션범위에 있는 입력 자동증가값. 예를들어 자동증가값을 가져오려는 테이블에 트리거가 걸려있어 입출력을 할때 @@IDENTITY를 사용하면 트리거에 입력된 자동증가값이 나오기때문에SCOPE_IDENTITY()를 써야한다.
월별로 통계를 내자 SELECT DATEPART(MONTH, REG_DT) AS MONTH ,COUNT(*) AS VALFROM TBLWHERE REG_DT >='2016-01-01' AND REG_DT
조인업데이트? 이거 뭐라고 설명해야 편할지 모르겠네염....이걸 모르면 프로그램으로 하나 짜서 반복문 돌면서 업데이트 해줘야할건데빠르게 두 테이블 혹은 자기자신의 테이블에 있는 값들을 업데이트할 수 있습니다. UPDATE TBLSET COL=B.COLFROM TBL AJOIN TBL2 B ON A.IDX=B.IDX
SELECT Convert(varchar(10), Getdate(),20)==>2016-06-30 SELECT CONVERT(VARCHAR(23), GETDATE(),121)=>2016-06-30 14:03:15.490
if exists (select * from t where pk = @id) begin update t set hitCount = hitCount+1 where pk = @id end else begin insert into t values (@id, 1) end https://samsaffron.com/blog/archive/2007/04/04/14.aspx
개발언어에서 조건문은 IF문혹은 Switch Case문이있다. DB에서도 둘 다 있긴한데, IF문은 스토어드 프로시져나 트리거같이 여러 SQL문을 수행할 때 사용하고, CASE문은 단일 쿼리문에서 작동한다.개발언어에서 Switch Case문과 매우 흡사하게 생겼다. 개발언어에서 switch Case문switch(변수명){ case "비교값":return "리턴값"; case "비교값1":return "리턴값1"; default:return "기본값";} DB Case문 CASE 컬럼명WHEN 비교값 THEN 리턴값 WHEN 비교값1 THEN 리턴값1 ELSE 기본값ENDAS 컬럼별칭
에러로그 테이블CREATE TABLE ErrorLog ( ErrorLogID INT IDENTITY(1,1), ErrorDate DATETIME DEFAULT (GETUTCDATE()), ErrorMsg VARCHAR(MAX), ErrorNumber INT, ErrorProc sysname, ErrorLine INT ) --로그를 남긴다. BEGIN CATCH DECLARE @ErrorMsg VARCHAR(MAX), @ErrorNumber INT, @ErrorProc sysname, @ErrorLine INT SELECT @ErrorMsg = ERROR_MESSAGE(), @ErrorNumber = ERROR_NUMBER(), @ErrorProc = ERROR_PROCEDURE(), @ErrorLine ..