我创建了一个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
答案 0 :(得分:2)
我认为您需要在某处添加and [CRID] = @myECR
。现在您只是检查任何记录是否已经超级批准。