通过结果集进行sql循环

时间:2013-03-23 06:53:40

标签: sql loops resultset plpgsql

我的输入参数是lastname和firstname。我需要检查表作者中是否已存在lastname和firstname。所以我需要在表作者的colums lastname和firstname上做一个SELECT语句,并将结果存储在一个变量中。循环如何继续......如果名称已存在,则显示消息,否则将新名称添加到表中

请帮忙

1 个答案:

答案 0 :(得分:1)

您不需要循环结果来执行此操作,这是一个简单的

IF EXISTS (
   SELECT * FROM author
   WHERE firstname = 'Ronald' AND lastname = 'McDonald'
   ) THEN ... ELSE ... END IF;`

是最明智的做法 但是,如果你仍然想知道如何在PL / pgSQL中迭代记录,这里有一个例子:

DECLARE x record;

FOR x IN SELECT first_name, last_name FROM author
LOOP
  IF x.firstname = 'Ronald' AND x.lastname = 'McDonald'
  THEN
    ...
  END IF;
END LOOP;

有关详细信息,请参阅documentation