dynamic-sql相关内容

Postgres中的动态SQL查询

我试图使用动态SQL在postgres中运行一些查询. 示例: EXECUTE format('SELECT * from result_%s_table', quote_ident((select id from ids where condition = some_condition))) 我必须查询一个表,该表的格式为result_%s_table,其中,我需要从另一个表中替 ..
发布时间:2020-05-29 19:46:50 其他开发

以表名称为参数的动态SQL

我正在尝试执行一个程序,将表名和2个列名作为参数发送到其中: EXECUTE IMMEDIATE 'select avg(@column1) from @Table1 where REF_D = @column2' into ATTR_AVG; 我尝试将变量组合使用'@',':','||',但似乎无济于事. 任何人都使用表名作为参数.除了SQL Server以外,这里还有一些解决方 ..
发布时间:2020-05-28 19:28:56 数据库

PostgreSQL-对列名称的动态INSERT

我正在寻找在PostgreSQL中将一组列从一个表动态插入到另一个表中的方法.我想我想做的是在列标题的“检查表"(表1中的那些列-存储表)中读取的,如果它们在导出表中存在(表2),则将它们插入所有但是,表2会立即在表中的列中进行更改.一旦导入,表2就会被删除,并导入可能要使用不同列结构导入的新数据.所以我需要根据列名导入它. 例如 表1.-存储表 ID NAME ..
发布时间:2020-05-28 19:14:31 其他开发

我可以动态截断表格吗?

我有一个表,其中有3个不同的分区,在point_of_sale列上进行了拆分.我已经构造了一个视图(massive_table)来聚集来自这些分区的数据,如下所示: CREATE VIEW massive_table as SELECT * FROM massive_table_UK UNION ALL SELECT * FROM massive_table_US UNION ALL SEL ..
发布时间:2020-05-28 19:14:01 其他开发

遍历架构中的类似表

Postgres 9.1-我有一个模式,该模式具有按月对表进行分区的表(每月创建一个新表,所有列均相同).没有使用“主"表将其设置为普通分区.我目前正在编写一个相当大的查询,每个月我将不得不运行几次. 模式:augmented_events 表格: p201301(2013年1月) p201302(2013年2月) p201303(2013年3月) ... p201312(201 ..
发布时间:2020-05-28 19:13:05 其他开发

包含条件的字符串的if语句

此问题与 Postgresql 8.3 有关. 我有一个表,该表的字段包含诸如"lastcontact为null"之类的条件.在代码中,我想遍历该表,并且对于每个记录,我都想检查“如果条件那么",如下面的示例所示: FOR myrec IN SELECT * FROM tabel ORDER BY colorlevel, volgnummer LOOP if (myre ..
发布时间:2020-05-28 19:13:03 其他开发

选择行单元格作为新列

基本上,我有一个表,该表存储具有某些限制的列名称:infos,而另一个表存储这些列的值:info_data.我想获得一个表,其中包含来自infos的列和来自info_data的数据.我已经尝试使用交叉表功能,但效果不理想. 我有2张桌子: CREATE TABLE infos (id serial PRIMARY KEY, name text NOT NULL, id_member ..
发布时间:2020-05-28 19:12:23 其他开发

如何在PL/pgSQL中按行类型返回表

我正在尝试使用PL/pgSQL(PostgreSQL 9.3)实现一个函数,该函数返回一个表,该表的结构与参数中的输入表相同.基本上,我想更新一个表,并使用plpgsql返回更新后的表的副本.我在SO周围搜索,发现了一些相关的问题(例如从PL/pgSQL函数中返回带有未知列的动态表和CREATE OR REPLACE FUNCTION change_val(_lookup_tbl regclass ..
发布时间:2020-05-28 19:11:35 其他开发

更新多个表中的列

假设我在一个模式的多个表中有一个名为partner的列: select table_name from information_schema.columns where column_name = 'partner'; 如何将值partner = 100更改为partner = 101的所有列? 解决方案 对于一次操作,执行动态SQL的DO语句应该可以正常工作: DO $d ..
发布时间:2020-05-28 19:11:26 其他开发