SQLServer對select語句返回多條記錄給變量賦值時的處理情況

字號:

declare @user nvarchar(20)
    select @user='user1'
    use countme
    /*判斷用戶是否存在*/
    declare @userweek int
    select @userweek=[week] from base where userid=@user
    select @@rowcount
    if @@rowcount=0
    return
    select @userweek
    最后的@userweek打印出來的結(jié)果就是記錄用戶名為user1的week字段的值
    而當我們用下面的語句選擇所有記錄時(沒有where限制)
    declare @user nvarchar(20)
    select @user='user1'
    use countme
    /*判斷用戶是否存在*/
    declare @userweek int
    select @userweek=[week] from base
    select @@rowcount
    if @@rowcount=0
    return
    select @userweek