【发布时间】:2013-12-21 07:08:06
【问题描述】:
以下过程根据以下每个查询的行数设置一个布尔值,然后应该将 true(1) 或 false(0) 值返回给 Access;我目前收到“当 EXISTS 未引入子查询时,选择列表中只能指定一个表达式”的错误。我怎样才能让它工作?
CREATE FUNCTION [dbo].[FN_chk](@pF NVARCHAR(255), @pI NVARCHAR(100),
@pL NVARCHAR(100), @pLY NVARCHAR(100))
RETURNS INT AS
BEGIN
DECLARE @Bool BIT
SET @Bool = 0
-- check allDataTemp
If ((SELECT DISTINCT theFN, theIN, theLN, theANA FROM aDT
WHERE theFN = @pF and theIN = @pI
and theLN = @pL and theANA = @pLY) > 0)
BEGIN
SET @Bool = 1
RETURN @Bool
END
-- check allDataTemp2
If ((SELECT theFN, theIN, theLN, theANA FROM aDT2
GROUP BY theFN, theIN, theLN, theANA
HAVING theFN = @pF and theIN = @pI
and theLN = @pL and theANA = @pLY) > 0)
BEGIN
SET @Bool = 1
RETURN @Bool
END
-- Return the result of the function
RETURN @Bool
END
【问题讨论】:
标签: sql sql-server sql-server-2008 scalar