导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

存储过程中,如何取得所选取记录的部分字段的值?

bizbuy 2008-01-16 04:39:53
在存储过程中,我要得到的结果是:
 SELECT * FROM DB WHERE ID=@ID

现在的情况是:
在返回结果前,要根据其中的字段[para]来判断,如果[para]不等于传递来变量@para,则将[para]的值更新为@para(包括数据库中和所选取的记录中),并返回更新后的记录。

如何写这个存储过程效率才最高?
...全文
72 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujinqiang 2008-01-22
 SELECT       T.*,para   =   @para       FROM       DB  T     WHERE       T.ID=@ID   
回复
bizbuy 2008-01-18
上面说的,都要进行两次操作

能不能只进行一次操作,根据select的结果判断,如果有必要再执行更新??
回复
bizbuy 2008-01-17
To:dawugui
SELECT *,para = @para FROM DB WHERE ID=@ID

这个语句好像不行,执行时“para = @para”没有产生影响 
回复
中国风 2008-01-16
update T set para = @para where ID=@ID and para<>@para
select * from T where ID=@ID
回复

UPDATE DB set para = @para WHERE ID=@ID and isnull(para,'') <> @para

SELECT * FROM DB WHERE ID=@ID

回复
dawugui 2008-01-16
在存储过程中,我要得到的结果是:

现在的情况是:
在返回结果前,要根据其中的字段[para]来判断,如果[para]不等于传递来变量@para,则将[para]的值更新为@para(包括数据库中和所选取的记录中),并返回更新后的记录。

如何写这个存储过程效率才最高?

--------------------------


 SELECT   *,para = @para   FROM   DB   WHERE   ID=@ID 
回复
kk19840210 2008-01-16
update db set para=@para where para<>@para
select * from db where id=@id
回复
kk19840210 2008-01-16
update db set para=@para
select * from db where id=@id
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告