본문 바로가기

C

Entity Framework 에서 저장프로시저 리턴결과 받기 Entity Framework 에서 저장 프로시저 (Stored Procedure) 를 통해 결과를 리턴 받는 방법을 포스팅 합니다. 우선, ASP.NET MVC 환경에서 ADO.NET Entity Data Model 을 생성하여 테이블 및 저장프로시저를 서버로 부터 만들고, 스캐폴딩을 통하여 컨트롤러를 생성하였다고 가정하도록 하겠습니다. Member 엔티티는 위와 같은 속성으로 구성되어 있고, 저장 프로시저의 내용은 아래와 같습니다. CREATE PROCEDURE [dbo].[Register] @StringID varchar(255), @Password varchar(255), @NickName varchar(255), @Email varchar(255), @Phone varchar(255), @Add.. 더보기
MULTI DELETE 최근 여러 테이블에 존재하는 동일한 필드명을 제거해야 하는 문제가 생겼다.. 그래서 단일로 쿼리를 나누어 뿌렸는데.... 코드 줄만 늘어날 뿐이었다.. A,B,C 테이블에서 A테이블을 기준으로, 특정값을 찾아 3개의 테이블 필드를 삭제해준다. 단일 DELETE DELETE FROM `A` WHERE id = 10 멀티 DELETE DELETE `A`, `B`, `C` FROM `A` left join `B` on A.id = B.id left join `C` on A.id = C.id WHERE A.id = 10 더보기
EXISTS, IN 문제. A 테이블, B 테이블 서로 ID 라는 필드가 존재하며, 해당 필드값은 A,B 양쪽모두 동일해야한다. 단, B테이블에서 제거되어 NULL 이 되었고, A테이블 내 ID필드값 은 여전히 존재한다. 게임으로 생각해보자면.. B 캐릭터 정보 테이블, A 캐릭터 인벤토리 아이템 테이블 캐릭터가 삭제되었으나, 인벤토리 소지템이 DB 에 여전히 쓰레기값으로 존재하고 있다. 이를 지워야한다. 처음 while 문으로 해당 값을 비교하여 일일이 지워줄까도 생각해봤다.. 하지만 이작업은 존나 느리다. 방대한 데이터베이스일수록.. 아래 작업을 이용하면 바로 단 한줄로 모든게 해결된다. EXISTS나 IN을 이용하면 편하게 구할 수 있습니다. SELECT ID FROM B WHERE NOT EXISTS (SELECT .. 더보기