我想写的作品像这样一个存储过程:存储过程与条件结果
SELECT * from T where T.A = @a and T.B = @b
如果返回行,返回那些行,如果没有,返回
SELECT * from T where T.A = @a and T.B IS NULL
编辑:
感觉应该有一种方法来创建一个程序,使其运行第一个查询一次并仅在必要时运行第二个查询。
End Edit。
我可以管理是后续的,这(理论上)运行在第一个查询两次,最好除非也许它的缓存:
IF EXISTS (SELECT * from T where T.A = @a and T.B = @b) THEN
SELECT * from T where T.A = @a and T.B = @b
ELSE
SELECT * from T where T.A = @a and T.B IS NULL
为了什么它的价值,这是Microsoft SQL Server 2008中
哪个数据库和版本? – Blorgbeard 2010-07-02 18:26:09
你的问题或问题是?!?!?!?你似乎有一种方法 - 这是行不通的,还是有什么问题? – 2010-07-02 18:26:18
如果这是SQL Server 2000,那么这是我知道的最好的方法,但是+1因为我想知道是否有另一种方法! – 2010-07-02 18:27:36