对于在SQL Server中使用if else语句的循环

Edu*_*ago 2 sql database sql-server stored-procedures

我想在SQL Server中创建一个循环和一个IF Else语句来检查表的每一行中的一组条件,并在满足所有条件时执行某些操作.

我想在SQL Server中执行类似下面的示例:

For each row in table1:
   If (table1.dob is null
       and table1.name = table2.name
       and table1.surname=table2.surname){
       update table1
       set dob = table2.dob}
   Else {
      Do nothing
   End If
End loop
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

谢谢,

爱德华多

Tim*_*sen 5

你不需要循环,标准的更新连接应该足够了:

UPDATE t1
SET dob = t2.dob
FROM table1 t1
INNER JOIN table2 t2
    ON t1.name = t2.name AND
       t1.surname = t2.surname
WHERE
    t1.dob IS NULL;
Run Code Online (Sandbox Code Playgroud)