我正在创建一个函数,它将创建一个新表并将有关该表的信息插入到其他表中。
要创建该表,我使用的是
CREATE TABLE IF NOT EXISTS
语句。遗憾的是,它不会更新PostgreSQL中的FOUND特殊变量,也无法找到任何其他可更新的变量。
PL / PGSQL中是否有任何方法可以知道该语句是否创建了一个表?
它的目标是不要将其他表中的信息加倍。
答案 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命令之后。在此命令之后有保证,表将是或者此命令未能成为异常。