본문 바로가기

MSSQL

CASCADE 제약조건 추가/삭제 create table daddy ( idx int, mID int PRIMARY KEY ) create table daughter ( idx int PRIMARY KEY , mID int Foreign Key references daddy(mID) ) ALTER TABLE [FK를 가지고 있는 테이블] ADD CONSTRAINT FK_제약조건명 FOREIGN KEY ( FK이름 ) REFERENCES [연결할테이블] ( 연결할테이블의PK이름 ) ON DELETE CASCADE --삭제일때 ON UPDATE CASCADE --업데이트일때 ALTER TABLE daughter ADD CONSTRAINT TEM FOREIGN KEY (mID) REFERENCES daddy(mID) ON UPDATE CASC.. 더보기
SQL null 데이터 없애기 testTable에는 nullSpace라는 컬럼에 'null'이 존재 할 경우 이를 공백(원하는대로)으로 바꿔서 출력하기. isnull(기존컬럼명, 원하는문자) as 컬럼명 isnull(nullSpace, '') as EmpSpace 더보기
CHARINDEX- 시작위치 반환 CHARINDEX 지정한 패턴의 시작위치를 반환한다. 다음과 같은 test테이블이 있다. create table test ( idx int, TestName varchar(20) ) MerryChristmas의 'C'의 시작위치를 반환해보자. SELECT CHARINDEX('C', TestName) FROM test WHERE idx = '1'; CHARINDEX(원하는 문자지정, 지정문자를 찾을 컬럼명) 조건(where)을 지정 할 경우 정해진 조건의 결과만 실행 할 수 있다. 하지만 조건을(where)을 정해주지 않아도 무방하다. 정해주지 않을경우에는 다음과 같이 실행된다. SELECT CHARINDEX('C', TestName) FROM test 더보기
idx_ 비어있는 번호찾아 자동증가하기 게시판의 글번호를 자동증가하면, 중간에 게시글이 삭제되었을 경우 문제가 될 수 있다. 1.2.3.4.5 의 글 중에서 3번글이 삭제되어도 자동증가는 3번이 아닌 6번으로 번호를 부여한다. 그런문제를 해결하기위해 비어있는 번호를 채워주며 번호를 부여하는 함수를 만들어보자. 함수명▶ FUNC_IDX_Board() if(not exists(select * from Board))-- 게시글이 존재하지 않는다면 set @idx = 1 else begin select @minIdx = min(idx) from Board-- Board의 idx 중 가장 작은 수를 @minIdx로! if(@minIdx > 1) set @idx = 1 else begin select @maxIdx = max(idx) from Board.. 더보기
MSSQL 컬럼명 변경 컬럼명 변경 MEMBER테이블에 있는 mName 컬럼을 customer 라는 이름으로 변경하고자 할 경우 sp_rename 'MEMBER.[mName]','customer', 'COLUMN' 테이블명 변경 MEMBER테이블명을 CUSTOMER라는 이름으로 변경하고자 할 경우 sp_rename 'MEMBER', 'CUSTOMER' 컬럼타입 변경 MEMBER테이블의 mName 컬럼을 nvarchar(20)으로 변경하고자 할 경우 ALTER TABLE MEMBER ALTER COLUMN mName nvarchar(20) 더보기