繁体   English   中英

如何创建存储过程?

[英]How do I create the stored procedure?

我通过一些sql联接生成了以下记录。

ID SYSTEM   CODE
1  W         A
2  W         NULL
3  W         NULL
4  W         B
5  U         X

在上面生成的记录中,由于SYSTEM U中包含X,因此我需要将所有记录CODE更新为“ X”。 请注意,我正在更新的此CODE来自某些表,例如CODES_TABLE。 如何通过存储过程做到这一点? 我是否必须创建一些临时表以将这些值保存在某个地方? 提前致谢

这是你想要的吗?

update t
    set code = (select t2.code from t t2 where t2.system = 'U')
    where t2.system <> 'U';

编辑:

或者,对于查询,只需使用解析函数:

select t.*, max(case when system = 'U' then code end) over () as u_code
from t;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM