gpt4 book ai didi

postgresql - 在 SQL 脚本中使用变量

转载 作者:行者123 更新时间:2023-11-29 13:00:05 27 4
gpt4 key购买 nike

我正在为我的 PostgreSQL 功能编写单元测试。首先是在数据库中插入数据,然后调用某个函数。但是,因为我使用自动递增的 ID,所以我不知道在我的函数调用中放入什么参数。

我希望能够做这样的事情:

INSERT INTO myTable ...;

SELECT id FROM myTable INTO l_id;

SELECT my_function(l_id);

更新

  • 我使用的是 SQL 脚本,而不是 PL/pgSQL
  • 在 MySQL 中,我可以这样做:SELECT @id:=itemid FROM myTable;,然后我可以在任何我喜欢的地方使用 @id

最佳答案

DROP SCHEMA tmp CASCADE;
CREATE SCHEMA tmp ;
SET search_path=tmp;

CREATE TABLE mytab
( id INTEGER NOT NULL PRIMARY KEY
);
INSERT INTO mytab (id) SELECT gs FROM generate_series(1,10) gs;

CREATE OR REPLACE FUNCTION tmp.myfunc ( _int integer )
RETURNS text AS
$func$

DECLARE ret text;

BEGIN
ret = 'OMG_' || _int::text;
RETURN ret;
END;
$func$
LANGUAGE 'plpgsql'
;

SELECT myfunc(1);

SELECT myfunc(mt.id)
FROM mytab mt
;

此外,对于较小的事情,您可以使用 psql 的 \gset 命令: (link to documentation)

关于postgresql - 在 SQL 脚本中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32869612/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com