PostgreSQL FOUND for CREATE TABLE语句

时间:2018-03-05 14:55:02

标签: sql postgresql plpgsql

我正在创建一个函数,它将创建一个新表并将有关该表的信息插入到其他表中。
要创建该表,我使用的是

CREATE TABLE IF NOT EXISTS

语句。遗憾的是,它不会更新PostgreSQL中的FOUND特殊变量,也无法找到任何其他可更新的变量。

PL / PGSQL中是否有任何方法可以知道该语句是否创建了一个表?

它的目标是不要将其他表中的信息加倍。

2 个答案:

答案 0 :(得分:1)

您可以将$("select[title] option:first-child").text(function(i, oldtext) { if (oldtext.trim() == '') { return $(this).parent().attr("title"); } });<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select name="myfirst" title="When should we call you?"> <option class="optnoval"></option> <option value="today">today</option> <option value="tommorow">tommorow</option> <option value="sunday" >sunday</option> </select> <select name="mytime" title="What time of day?"> <option class="optnoval"></option> <option value="morning">Morning</option> <option value="afternoon" >Afternoon</option> <option value="evening">Evening</option> </select>结合使用:

CREATE TABLE AS

说白了,使用ON_ERROR_ROLLBACK postgres将在每个语句之前创建一个保存点,并自动回滚到此保存点或根据该语句的成功释放它。

即使表创建失败,上面的代码也会执行初始和剩余的内容。

答案 1 :(得分:0)

不,如果此命令创建了表,则没有任何信息。查询执行后更新found变量 - 而不是在DDL命令之后。在此命令之后有保证,表将是或者此命令未能成为异常。