Сохраненная процедура, если существует, не дает правильного ответа

Я создал хранимую процедуру sql 2005, чтобы сообщить мне, одобрен ли CRID, который я ищу, супервизором. [SuperApproved] - это бит, [CRID] - это char (36). Даже если CRID не существует, я все равно получаю 1. Любая помощь в написании этого?

USE [cr_Saturn2]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  Randy Baker
-- Create date: 10/12/2010
-- Description: Check for Approved CRID in CostReportTracking
-- =============================================
alter PROCEDURE [dbo].[st_Is_CostReportApproved]
 -- Add the parameters for the stored procedure here
 @myECR char(36) = null  
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

if exists(
 select [CRID]
 from [dbo].[CostReportTracking]
 where [SuperApproved] = 1)

 -- exists- cost report is Approved by Supervisor
 select 1
else
 -- does not exist
 select 0    
END
1
задан Klaus Byskov Pedersen 15 October 2010 в 16:27
поделиться