【发布时间】:2018-01-29 11:56:38
【问题描述】:
我有一个要求,我必须将行(几百行)从一个表(比如源)插入到另一个表(比如目标)。但是目标中有一个列(例如错误列),其每行的值取决于源中的列(例如电子邮件)。 例如,如果 source.email 为空,则 target.error = 'no email'(硬编码)否则 target.error = others(硬编码)。要在目标表中填充的所有其他列都存在于源表中。插入行的有效方法是什么?
【问题讨论】:
-
select AllYourColumns, case when source.email==null then target.error='no email'(hardcoded) else target.error = others.(hardcoded) end from YourTable -
样本数据和预期结果会有所帮助。听起来你需要
CASEexpression。 -
为什么你认为你需要一个存储过程?