Microsoft SQL Server 2012를 사용합니다. 데이터베이스에 SiteObjects
이라는 테이블에 SiteRegionId
의 이름이 22
인 열이있는 레코드가 하나 이상 있는지 확인해야합니다.SQL 열에 값이 있는지 확인하는 방법은 무엇입니까?
만약 다른 논리를 구현해야한다면 그것은 어떤 논리를 imlpement해야한다. 여기
내 구현 : 이해로 모든 테이블 행에서 실행 SiteRegionId
이 동일한 모든 행을 선택하기 때문에
SELECT * FROM SiteObjects WHERE SiteRegionId = 22
효과가 없습니다 :
IF EXISTS (SELECT * FROM SiteObjects WHERE SiteRegionId = 22)
BEGIN
----do what you need if exists
RETURN '0'; --not deleted
END
ELSE
BEGIN
--do what needs to be done if not
DELETE FROM SiteRegions
WHERE Id = 22;
RETURN '1';
END
내가이 행이라고 생각 22. 더 효과적인 방법이 있습니까? 그리고 행의이 조건을 충족시키는 지 확인하려면 계속 진행하십시오.
따라서이 사이에 차이점이 2 : 존재하는지 존재하지 않으면 ' 은'(SELECT SiteObjects SiteRegionId = 22 *) ' (SiteRegionId가 = 22 WHERE SiteObjects에서 1을 선택) ?? – Michael
@Michael - 당신이 계획을 비교한다면, 그들이 동일하다는 것을 발견해야합니다. –