我正在为PostgreSQL功能编写单元测试。首先在数据库中插入数据然后调用某个函数。但是,因为我使用自动递增ID,所以我无法知道在函数调用中放入什么参数。
我希望能够做到这样的事情:
INSERT INTO myTable ...;
SELECT id FROM myTable INTO l_id;
SELECT my_function(l_id);
更新
SELECT @id:=itemid FROM myTable;
,稍后,我可以在任何我喜欢的地方使用@id
。答案 0 :(得分:1)
INSERT会返回一个OID,您可以通过多种方式获取OID
INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets')
RETURNING did;
使用PL-PGSQL中的GET DIAGNOSTICS api
在助手库中使用return函数(语法取决于库)。
在您的情况下,您可以执行类似
的操作with res as (
INSERT INTO my_table (id, ...) VALUES(x,..)
RETURNING id)
SELECT my_function(res.id);
答案 1 :(得分:1)
\gset
另外,对于较小的东西,你可以使用psql的 function colorSwitch()
{
var thediv = document.getElementsByClassName("light");
console.log("Button Clicked");
if(thediv[0].style.backgroundColor == "#ff0000")
{
thediv[0].style.backgroundColor = "#ffff00";
}
if(thediv[0].style.backgroundColor == "#ffff00")
{
thediv[0].style.backgroundColor = "#00ff00";
}
if(thediv[0].style.backgroundColor == "#00ff00")
{
thediv[0].style.backgroundColor = "#ff0000";
}
};
命令:here
答案 2 :(得分:0)