plpgsql相关内容
与表格或序列不同,用户定义的函数不能通过的pg_class 。 如何查找要删除的所有功能的列表或 grant 他们,但是如何找到一个单独的函数(具有已知的名称和参数类型)并不是不言而喻的。那么如何找到一个函数是否存在? 编辑:我想以自动方式在函数中使用它。哪种解决方案性能最佳?陷阱错误是非常昂贵的,所以我想对我来说最好的解决方案是没有额外的步骤来将错误转化为错误,但是我可能在这个假设中是错误
..
这让我花了一段时间才弄清楚,几周前我在外语wiki上找到了答案,这很有帮助,所以我想我会分享。 LOAD'$ libdir / plugins / plugin_profiler.dll'; SET plpgsql.profiler_tablename ='bazzybar'; ...然后当您想要剖析某些代码时, drop table if exists
..
CREATE OR REPLACE FUNCTION point_total(user_id integer,gametime date) RETURNS bigint AS $ BODY $ SELECT sum(points)AS result FROM picks WHERE user_id = $ 1 AND picks.gametime> $ 2 AND点不是
..
CREATE OR REPLACE FUNCTION“insertarNuevoArticulo”(nombrearticulo character varying,descripcion text, idtipo整数,idfamilia bigint,artstock整数,minstock整数,maxstock整数,idmarca bigint,precio real,marcastock
..
这是我的表格 我在表格中插入多于一行的函数 CREATE TABLE mahasiswa ( nim CHAR(10), nama VACHAR(40) CONSTRAINT pk_nim PRIMARY KEY(nim) ) ; 这是我创建的函数
..
我有一个拥有超过1000个函数的数据库。我想授予某些用户的执行权限。我不能手动执行,因此我想获取函数列表并编写代码为所有函数生成GRANT EXECUTE脚本。我尝试了下面的脚本,但这并没有给我参数。 SELECT'GRANT EXECUTE ON FUNCTION'|| nspname ||'。' || proname ||'TO gis;' FROM pg_catalog.pg_na
..
我在Postgres 8.3.5中有一个函数,用于从多个表中选择数据并将结果转储到一个表中: 创建或替换函数test_function_2(startdate timestamp,enddate timestamp) 返回void作为$$ begin 从cl_final_report中删除; INSERT INTO cl_final_report SELECT b.ba
..
我想创建一个函数来返回我创建的类型,但是当我执行它时,它说类型不存在。我想这是因为它不知道自定义类型。 UDT: CREATE TYPE building_code AS ENUM('IT','EMS','HSB','ENG'); 功能: CREATE FUNCTION roomCode(id int)RETURNS building_code AS
..
我有一个字段表来存储其他表的列信息: schema_name varchar(100), table_name varchar(100), column_text varchar(100), column_name varchar(100), column_type varchar(100)默认'varchar(100)', column_visible boolean );
..
我有这个 PL / pgSQL 函数,它必须返回一些用户信息。 创建或替换函数my_function(user_id integer) RETURNS TABLE(id整数,名字变化 ,姓氏字符变化)AS $$ DECLARE ID字符变化; BEGIN ids:=''; - 构建ids字符串的一些代码,对此问题不感兴趣 RETURN QUERY EXE
..
我使用的是PostgreSQL 8.4,我想创建一个返回多行查询的函数。 not 工作如下: 创建函数get_names(varchar)返回setof记录AS $$ 声明 tname别名为$ 1; res setof记录; begin 从mytable中select * into res其中name = tname; return res; end; $$语
..
我试图在PostgreSQL 8.2中编写一个触发器函数,它将动态地使用TG_TABLE_NAME来生成和执行SQL语句。我可以在PostgreSQL的后续版本中找到各种示例,但由于某些要求,我被困在8.2中。这是我的函数,因为它的工作原理,但很难动态: CREATE OR REPLACE FUNCTION cdc_TABLENAME_function()RETURNS trigger A
..
我想要一个简单的,但我正在开始进入Postgres函数的第一步,我找不到任何可行的工作。创建一个函数,将修改表和/或列,我找不到正确的方式来指定我的表和列作为我的函数中的参数。 Something例如: CREATE OR REPLACE FUNCTION foo(t table) RETURNS void AS $$ BEGIN alter table t add col
..
我想在Postgres函数中传递一个表名作为参数。我试过这段代码: 创建或替换函数some_f(参数字符变化)RETURNS integer AS $$ BEGIN IF EXISTS(select * from quote_ident($ 1)where quote_ident($ 1).id = 1)THEN return 1; END IF; 返回0; END
..
使用postgresql和postgis我有2个openstreetmap表,其中包含: 点:带有单个坐标的位置 多边形:带有坐标集的区域 现在,我试着循环点表每个记录我试图用postgis函数做一些计算,例如 ST_Intersects()。然后尝试将结果插入到另一个表中。 到目前为止,我只使用postgis完成了简单的 SELECT 查询函数,他们基本上是这样工作的:
..
下面的代码返回一个整数 1 : CREATE TYPE my_test AS( foo Integer ); CREATE FUNCTION foo_out() RETURNS SETOF Integer AS $$ BEGIN RETURN QUERY SELECT 1 as foo; END $$ 语言plpgsql; CREATE FU
..
我试图从一个表格中随机抽取15000个ID。而不是每次手动按下运行,我试图做一个循环。我完全理解的不是Postgres的最佳使用,但它是我拥有的工具。这就是我到目前为止: for i in 1..25 LOOP insert into playtime.meta_random_sample 从tbl 中选择i,ID by random()limit 15000 end lo
..
我需要通过key / index循环访问 RECORD 项目,就像我可以在其他编程语言中使用数组结构一样。 例如: DECLARE data1 record; data2文本; ... BEGIN ... FOR data1 IN SELECT * FROM sometable LOOP for data2 IN SELECT
..
我是Postgres的新手,并且拥有一个具有相同结构的多个表的数据库。我需要从每个表中选择符合特定条件的数据。 我可以用一堆 UNION 查询,但是我需要搜索的表的数量会随着时间的推移而改变,所以我不想像这样对其进行硬编码。我一直在试图开发一个函数,将循环通过特定的表(他们有一个共同的命名约定),并返回一个记录表,但我没有得到任何结果,当我查询函数。函数代码如下: pre $ CREA
..
使用 create table table_name(与source_table包含所有内容相同)' 在Postgres中。如何创建包含所有外键的现有表的副本 解决方案 无法自动创建外键 CREATE TABLE ... LIKE ... 。 对于文档: $ b LIKE source_table [like_option ...]
..