MSsql

[error/mssql] 개체 'DF__x'은(는) 열 'x'에 종속되어 있습니다. 하나 이상의 개체가 이 열에 엑세스하므로 xx이(가) 실패했습니다.
안녕하세요 코북입니다. 회사 다니면서 블로그 글 쓰는 게 쉽지가 않네요.. 는 사실 핑계고 더 열심히 하면 쓸 수 있을 텐데 요새 조금 나태해진 것 같은 기분입니다. 억지로 힘을 내기보다는 자연스럽게 지내다 보면 다시 예전처럼 힘을 낼 수 있을거라고 생각하고 지내보려고합니다.. ㅎ화이팅 내 자신^^ mssql에서 컬럼을 삭제하려고 하는 경우 제목과 같은 '개체 'DF__x'은(는) 열 'x'에 종속되어 있습니다. 하나 이상의 개체가 이 열에 엑세스하므로 xx이(가) 실패했습니다.' 라는 에러가 발생했습니다. 컬럼 생성 시 default 제약조건을 걸었기 때문인데요. default 제약조건을 먼저 삭제한 후 컬럼을 삭제하면 에러 발생 없이 컬럼을 삭제할 수 있습니다. alter table 테이블명 drop..

[MSSQL] 트랜잭션과 @@TRANCOUNT
트랜잭션 트랜잭션을 왜 사용해야 할까? 데이터 베이스 Update문을 사용할 때 Update문은 굉장히 위험한 명령어이므로 꼭 트랜잭션 안에서만 사용해주셔야 합니다. 특히 Update문에 실수로 Where 절을 쓰지 않고 실행을 하게 되면 테이블에 있는 컬럼이 모두 바뀌게 되는데 이런 큰 실수를 하면 되돌릴 수도 없고 바로 사직서를 써야 하는 상황이 연출될 수도 있다고 합니다.. 그러므로 먼저 Update에 하기에 앞서서 Select문으로 자신이 바꿔야할 데이터를 조회한 뒤 꼭 트랜잭션 안에서 Update를 실행해주도록 하는 것이 좋습니다. 트랜잭션이란? 하나의 처리를 여러 단계로 나누는 기능을 트랜잭션(Transaction)이라 합니다. 하나의 처리를 Commit이라는 명령어를 수행하기 전 마지막으로 ..

[MSSQL] 프로시저 (PROCEDURE)
프로시저 저장 프로시저란(Stored Procedure)란 SQL Server에서 제공되는 프로그래밍 기능입니다. 즉, 쿼리 문의 집합으로써, 어떠한 동작을 일괄 처리하는 용도로 사용됩니다. 쉽게 말하자면, 개발자가 짜 놓은 쿼리문을 마치 하나의 메서드 형식으로 관리하는 것이라 볼 수 있습니다. 프로시저 생성 구문 CREATE PROCEDURE [프로시저명] ( [파라미터] ) AS BEGIN [쿼리문] END 프로시저 생성 예제 CREATE PROCEDURE CREATE_BOOK ( @NAMENAVARCHAR(100),-- 제목 @PUBLISHERNVARCHAR(50),-- 출판사 @AUTHORNVARCHAR(50),-- 저자 @RETURN_CODEVARCHAR(1)OUTPUT-- 성공 : S, 오류 ..