我在想,如果有可能批量初始化從一個類型爲空創建的變量沒有初始化它們各自獨立重置行類型的所有列設置爲NULL
create type tp_data as (
data01 text,
data02 integer,
data03 text
);
create function sp_function()
returns setof tp_data as
$$
declare
lr_data tp_data;
begin
for lr_data in
select data.data01, data.data02, data.data03
from data
loop
if lr_data.data01 = "cancelled" then
-- what is the correct way to do this?
lr_data.* := null;
-- without having to do this
lr_data.data01 := null;
lr_data.data02 := null;
lr_data.data03 := null;
end if;
return next lr_data;
end loop;
end
$$
language plpgsql;
電話:
select * from sp_function();
上面顯然是錯誤的,但是在Informix中,我可以使用類似「初始化lr_data。*爲null」的東西。有沒有辦法在plpgsql中做類似的事情?
您是否嘗試過使用如下方式定義您的類型:'.... data01 text DEFAULT NULL,....' –
這不會有幫助,因爲數據將會填充來自sql查詢的結果點。我需要能夠清除所有結果返回該行後sql查詢已經運行 – Trent