【发布时间】:2012-10-15 17:22:06
【问题描述】:
我有这个存储过程,我想知道“如果存在”是否会实际比较 select 语句返回的值,或者它只会检查该条件是否可以执行,抱歉这么愚蠢的问题,但我是新手到 SQL,
declare @m_ID_v int
set @m_ID_v = ( select ID_C from M_T where MName_C = @MName_parameter)
declare @g bit
if exists (select G_L_Column from G_L_table Where M_ID_Column = @M_ID_variable)
set @g_v = 1
else
set @g_variable = 0
我的选择语句
select G_L_Column from G_L_table Where M_ID_Column = @M_ID_variable
返回真或假,所以只想确定“如果存在”是否会像“如果”一样工作
【问题讨论】:
-
if exists中的块将执行如果您在其中的选择查询返回至少 1 条记录,等于if((select query).records.count > 0) -
我该如何使用 if 语句,因为它给了我错误,我问了一个问题,他们让我使用“存在”stackoverflow.com/questions/12892194/…
-
@Ignacio - 看到你删除了另一个问题。只是为了它的价值,我没有否决你的问题。
-
@user569711 我得到了没有解释的反对票,所以我不得不删除它,但感谢你让我知道 :)
标签: sql sql-server-2008