谁能从我选择的存储过程中解释此片段

时间:2018-07-11 09:53:44

标签: sql sql-server sql-server-2008 stored-procedures

这可能是一个愚蠢的问题。我已经选择了一个存储过程,但是我不确定这部分在做什么。刚开始时就在已声明的变量之下。

/* ------------------------------------------------------ */
SELECT @DW_InsDate = DW_InsDate
  FROM [aud].[ExtractTime]
 WHERE [CurrentRecordYN] = 'X';
-- 'X' is the transitory state

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

一个接一个(针对每个满足条件的记录)从DW_InsDate列中分配给变量值,因此最终在变量@DW_InsDate中,我们找到了满足条件的最后一条记录(最后一条记录,即DW_InsDate列中的最后一个值)

答案 1 :(得分:-2)

在这里,您尝试用'X'过滤DW_InsDate列值后,分配ExtractTime表的CurrentRecordYN列的值;

如果有多个记录,您将不得不面对错误。如果您有多个条目,则需要尝试下面的代码。

set @DW_InsDate =select top 1 DW_InsDate
  FROM [aud].[ExtractTime]
 WHERE [CurrentRecordYN] = 'X';