如何在查询中使用SQL变量(SQL Server 2008)? [英] How to use SQL Variables inside a query ( SQL Server 2008)?

查看:151
本文介绍了如何在查询中使用SQL变量(SQL Server 2008)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Alter PROCEDURE select_clientinfo
@cname varchar(200),
@Address varchar(230),
@City   char(16)
AS
BEGIN

    Select @cname ,@address ,@city From tblclientinfo
END
GO



i我正在尝试这样无法正常工作


i am trying like this which is not working

推荐答案

不,你不能这样 - 在参数到来之前很久就会编译列的名称。

相反,试试这个:

No, you can't so it like that - the names of the columns are compiled a long time before the parameters arrive.
Instead, try this:
Alter PROCEDURE select_clientinfo
@cname varchar(200),
@Address varchar(230),
@City   char(16)
AS
BEGIN
    DECLARE @SQL VARCHAR(MAX)
    
    SET @SQL = @cname + ' ,' + @address+ ' ,' + @city + ' From tblclientinfo'
    EXEC @SQL
END
GO


请使用此

Use this please
SELECT  FROM dbo.tblclientinfo 
        EXEC @ReturnValue = dbo.tblclientinfo @cname, @address, @city 
        SET @CollectionIsMade = 1
    END





还有一个有错误消息吗?



And one more have you any error message ?


这篇关于如何在查询中使用SQL变量(SQL Server 2008)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆