plpgsql

    3热度

    3回答

    我想在一个函数内部创建一个事务块,所以我的目标是在一次使用这个函数,所以如果有人使用这个函数而另一个想使用它,他不能,直到第一个是完成我创建这个功能: CREATE OR REPLACE FUNCTION my_job(time_to_wait integer) RETURNS INTEGER AS $$ DECLARE max INT; BEGIN BEGIN;

    1热度

    2回答

    我在代码中使用了RAISE EXCEPTION '...' USING ERRCODE='....',因为我可以在我的C#代码中使用错误代码。但是,我想现在在我的plpgsql代码中使用它,如下所示: BEGIN ... RAISE EXCEPTION 'Something is wrong' USING ERRCODE='S0001'; EXCEPTION WHEN 'S

    2热度

    3回答

    我通过几场试图循环和运行它们的函数在给定列表循环: FOR field IN ARRAY['f1','f2'] LOOP execute pg_temp.converFieldToLower(newTableNameRaw,field) END LOOP; 这是我想要使用的功能: CREATE OR REPLACE FUNCTION pg_temp.converFieldToLow

    -1热度

    3回答

    我搜索的方式开始在特定的时间(为了测试并发访问)一Function或Transaction,但我没有找到一个明确的办法,我在这里找到PostgreSQL - make two transactions run at the same time ,在特定的时间内用linux执行脚本的东西,但是如果您使用的是Windows或其他操作系统,这并没有什么帮助。 我创建了一个简单的方法,但我不知道这是否有问

    2热度

    1回答

    无论何时将新行插入到表中,我都试图触发pg_notify,但不是每个新插入的行都得到通知,我只总共收到一个通知。 触发是 CREATE TRIGGER "testNotify" AFTER INSERT ON mine.test FOR EACH ROW EXECUTE PROCEDURE mine."testNotify"() 功能是 CREATE OR REPLACE FUNCTION

    0热度

    1回答

    我创建了下面的函数来验证客户在我的数据库: create or replace function altaClient(p_nombre cliente.nombre%type,p_repcod cliente.repcod%type,p_limcred cliente.limcred%type) RETURNS varchar as $$ declare begin if p_

    1热度

    4回答

    我正在创建运行检查的触发器,如果​​它通过,则会引发异常。为此,我需要使用动态调用,因为我只将表名称作为字符串。我正在使用PostgreSQL,但我无法弄清楚如何执行命令的作品。当我这样做: CREATE OR REPLACE FUNCTION bleep() RETURNS table(id INT) AS $bleep$ BEGIN RETURN QUERY EXECUTE

    2热度

    1回答

    函数json_object_keys(json)返回setof text。如何将这个setof text转换为一个字符串,所有元素用','分开?我必须使用函数array_to_string(),但它接受一个数组,而不是一个setof。那么如何将setof转换为数组。例如: DECLARE custom_fields json; BEGIN custom_fields:='{"

    1热度

    2回答

    我是PostgreSQL的新手(目前正在使用MSSQL)。让我们假设我们有一个复合型Customer(uid uuid, name text),你选择从功能(程序)一样返回此类型: create or replace function public.getCustomers(value text) returns setof Customer as $$ select "uid",

    0热度

    1回答

    我创建了一个动态函数。我动态地获取表名的一部分。该功能已成功创建。但是当我执行该功能。我收到一个错误。我怎么解决这个问题?我打电话跟 select * from dwgcould.getlatlngcenter(2000653); CREATE OR REPLACE FUNCTION dwgcould.getlatlngcenter(IN pro_id integer, OUT l