none
如何在一个存储过程中从一个表中查询出一个值,并将这个值赋值给一个内部变量? RRS feed

  • 问题

  • 大家好,我编写的一个存储过程需要从一个表中一个列中查询出一个值,然后将这个值赋值给一个变量,这个存储过程的大致结构如下:

    Create Procedure [dbo].[TaskInfo] @GlobalId varchar(36), --就是GUID转换成string后的值,具有唯一性 @ParentId varchar(36) as begin /*声明一个变量@Id,为int,并赋初值为-1*/ DECLARE @Id int=-1 /*表名为TASK,其中ID列的数据类型为int,为标记量,自增长。GlobalId列的数据类型是varchar(36)。

    现在我就想通过传入的ParentId来获得与这个传入值具有相同的值的那一行数据的ID列的值。

    由于GlobalId具有唯一性,故ID列中也只有一个值,或者没有值*/ --获得这个值的代码如何写?下面的语句报错啊。 set @Id = select [ID] from [TASK] where [GlobalId]=@ParentId ---其他Sql语句 end

    请大家帮我看看啊。


    2014年12月16日 15:10

答案

  • Hello,

    数据库是sqlserver吗,是的话试下写成这样:

    select @Id = [ID] from [TASK] where [GlobalId]=@ParentId

    Regards.


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 waterharbin 2014年12月17日 8:45
    2014年12月17日 3:27
    版主