【发布时间】:2020-07-21 12:53:32
【问题描述】:
如果表不为空,我有以下代码来创建一个函数,该函数从表 web_channel2 中截断所有行:
create or replace function truncate_if_exists(tablename text)
returns void language plpgsql as $$
begin
select
from information_schema.tables
where table_name = tablename;
if found then
execute format('truncate %I', tablename);
end if;
end $$;
不幸的是,我不知道我应该如何继续...... 函数如何执行?
【问题讨论】:
-
有什么问题?
-
我运行代码,不知道下一步是什么。如何使用正确的参数调用函数。我收到消息:Function truncate_if_exists created Execution time: 0.03s
-
如果我写
truncate_if_exists(web_channel2)我得到语法错误 -
您的代码不会截断“如果表不为空”。如果表存在,它会截断 - 这些是不同的东西。
标签: sql postgresql plpgsql truncate search-path