【发布时间】:2012-11-01 11:57:06
【问题描述】:
目前,我正在返回一个布尔值作为“1”或“0”或列的值,比如说我的一个存储过程中的列 A,它运行良好,但是在一个应用程序中,我试图获得类似的值这个
string temp = reader.TryGetValue("ColumnA", out licenseStatus) ? temp : string.Empty;
存储过程正在做这样的事情,
if @datafield = 1
return 1
else if @datafield = 2 AND @datafield2 = 3
return 0
else
return (SELECT ColumnA.table2 FROM table1 INNER JOIN table2 on table1.id and table2.id Where @datafield3 = 0)
现在我想始终将结果作为 ColumnA 的值返回,而不是发送“0”或“1”,因为我不允许更改应用程序中的代码。
有可能吗?我也无法对 ColumnA 的值进行任何更改。
编辑
我已经在我的问题中提到存储过程在做什么 它应该做但不使用我的代码,因为我返回 1 或 0 在某个时候,我的代码没有把它作为 columnA 所以它的设置 它是空的,我想返回 0 或 1 作为 ColumnA 的值,但同时 时间我不想改变table2中columnA的值..
:)
【问题讨论】:
-
您是否必须使用最后一个 else 查询。否则,您可以使用下面回答的案例
-
是的,我必须使用查询,但我可以创建一个新的数据字段,该数据字段将从查询中获取值,但主要问题是我根本不想更改 table2 中 ColumnA 的值
-
整个过程是插入查询吗?如果不是,那么您发布的代码正是您想要做的。
-
我更新了我的问题:)
标签: sql sql-server-2008 stored-procedures