是否可以在存储过程中返回文字来模仿数据集?

时间:2012-08-06 23:07:27

标签: sql sql-server-2005 stored-procedures string-literals

首先,抱歉这个愚蠢的问题。

我正在寻找的是返回硬编码数据的“数据集”。我需要这个或者它是否是一个好的解决方案的原因是无关紧要的。我只想知道如何做到这一点。

我基本上想通过SELECT返回这个“假”数据集。

DisplayText  Value
-----------  -----
Yes          true
No           false

我宁愿避免创建一个表,填充它然后再查询它是否可以。我想通过SELECT有一种聪明的方法可以做到这一点,但我没有这方面的技巧。

任何帮助将不胜感激。是的,我知道这很傻。让我们走过去。 =)

3 个答案:

答案 0 :(得分:3)

这不是“聪明”,但这应该有效:

Select 'Yes' as DisplayText, 'true' as Value
UNION
SELECT 'No', 'false'

答案 1 :(得分:2)

现在不一定适合你,但是有一天,当然对于其他读者来说,在SQL Server 2008中,您可以使用新值构造函数更简洁地执行此操作(并且随着添加更多行而变得越来越简洁): / p>

SELECT * FROM (VALUES('Yes','true'),('No','false')) AS x(DisplayText, value);

再次说明:此解决方案仅适用于SQL Server 2008及更高版本。

答案 2 :(得分:1)

你可以这样做:

select DisplayText = 'Yes' , Value = 'true'
UNION ALL
select DisplayText = 'No'  , Value = 'false'

或者您可以在存储过程中执行此操作:

declare @temp table (
  DisplayText varchar(32) not null ,
  Value       varchar(32) not null ,
)

insert @temp values ( 'Yes' , 'true' )
insert @temp values ( 'No'  , 'false' )

select * from @temp

所以是的,你可以伪造那种东西。