dynamic-sql相关内容
我有一个在存储过程中创建的动态SQL语句。我需要使用游标遍历结果。我很难确定正确的语法。这就是我在做什么。 SELECT @SQLStatement ='从用户中选择userId' 进行DECLARE @UserId 声明users_cursor游标 执行@SQLStatment-在这里失败。不喜欢这个 OPEN users_cursor 从users_cursor 下
..
代码的目标是动态运行查询,如果在列中没有数据行,则返回0;在列中有数据行时,返回1。这是我的存储过程代码: ALTER proc [dbo]。[usp_ColumnFieldValidator] ( @TblName nvarchar(30), @ColumnName nvarchar(30), @RetVal位输出 ) 随着 开始 将@CountOfRowsQuery
..
我在使用c#中的dataTable对象动态生成SQL插入语句时遇到了一些问题。我想知道实现它的最佳实践。这是我到目前为止已经尝试过的代码段。 字符串sqlCommandInsert = “”插入dbo.RAW_DATA(“; 字符串sqlCommandValue =”“; foreach(dataTable.Columns中的DataColumn dataColumn) { sql
..
示例: Table = [“ category1”,“ category2”,“ category3”] $ b表中varTable的$ b: cr.execute('update varTable SET id =%s,WHERE id =%s) ........ .... 如何执行此循环? 解决方案 为此使用动态SQL。默认设置是将plpgsql与
..
我需要对一组表执行相同的删除或清除操作(基于多种条件)。为此,我试图将数组中的表名传递给函数。我不确定我是否做对了。还是有更好的方法? 我仅粘贴了一个示例示例,这不是我编写的真实函数,但基本内容与下面相同: 创建或替换功能测试(表名文本[])以int as $ func $ 开头的整数返回 从'|| tablename执行'delete *; RETURN 1; EN
..
我在Postgres中有一个函数: 创建或替换功能upsert(sql_insert文本,sql_update文本) 返回整数AS $ BODY $ BEGIN 执行sql_insert; RETURN 1; 在unique_violation时例外然后 执行sql_update; 返回2; END; $ BODY $ 语言‘plpgsql’波动 费用100;
..
如果我在PostgreSQL数据库中有下表: Col1 Col2 Col3 A a 1 B b 2 是否可以获取每个值的列名没有明确指定列名?即结果集如下: Col1 A Col1 B Col2 a Col2 b Col3 1 Col3 2 解决方案 当然,您可以编写PL / pgSQL函数并查询目录表您自己 pg
..
我有一个 plpgslq 函数,该函数进行一些数据处理,并想编写一个 for 循环,但是在设计时未知表名。有什么可能的方法来实现这一目标?这是我想要实现的示例代码片段: -功能:check_data() -DROP FUNCTION check_data(); 创建或替换功能check_data() 返回字符,其变化方式为 $ BODY $声明 dyn_rec记录; tbl
..
我有一个带有长文本列的表格。我希望能够选择所有列,但可以限制文本列而无需写每一列。 select *来自资源; 产生的输出太长而无法在psql中正确显示。我可以通过在长列上使用 substr()或 left()来显示一些内容,但是然后我 从资源中选择id,left(data,50),file_format_version,...; 有没有一种方法
..
我是PostgreSQL的新手,我想知道是否有可能使用表 tbc 中的 number 左联接中的表名'pa'||数字。因此,例如,如果数字为456887,我想与表pa456887左连接。像这样: 选择tdc.cpa,substring(tdc.ku,'[0-9] +')AS号,paTab.vym FROM public。“ table_data_C” AS tdc LEFT JOIN
..
类似于“> 上一个问题 对于一对一映射,我需要一个针对源和目标中的多个列的解决方案。 仍在使用Postgres 9.4.4,对查询和架构进行了修改,如下所示: 假设我有这两个表 Table1 和 Table2 : 创建表Table1(col1 int,col2 varchar(100),col3 varchar(100)); 创建表Table2(col1 int,col2 va
..
原始表,规则存储在一个名为md_formula的表中,该表用于映射到目标表中 为 raw_dbs_transactiondetailscash : DROP TABLE raw_dbs_transactiondetailscash 创建表raw_dbs_transactiondetailscash( 帐号VARCHAR(100), 参考货币VARCHAR(100), 交易日期d
..
如何获取结果集中各列的标签,以便在表的名称前加上名称? 我希望对单个表的查询都这样 示例: 选择first_name,last_name FROM人; 我希望结果为: | person.first_name | person.last_name | | ------------------- | ------------------ | |温迪
..
我需要知道PostgreSQL中的列类型(即 varchar(20))。我知道我可能可以在psql中使用 \d 来找到它,但是我需要通过选择查询来完成。 这是吗?可能在PostgreSQL中使用? 解决方案 您可以使用带有以下查询的postgres来完整描述表: 选择 a.attname作为列, pg_catalog.format_type(a.atttypid,a.att
..
如何编写包含动态构建的SQL语句并返回结果集的存储过程?这是我的示例代码: 创建或替换功能report.report_get_countries_new( starts_with varchar, ends_with varchar ) returns table( country_id整数, country_name varchar )AS $ body $ DECLA
..
如何编写SQL脚本在PostgreSQL 9.1中创建ROLE,但如果已经存在则不引发错误? 当前脚本仅具有: 创建角色my_user登录密码'my_password'; 如果用户已经存在,则此操作失败。我想要类似的东西: 如果不存在(SELECT * FROM pg_user WHERE username ='my_user') 开始 创建角色my_user
..
这是我想做的事情: \设置值foo,bar,baz DO $$ 声明 的值TEXT; values TEXT []:= string_to_array(:'values',’,’); 开始 数组中的前一个值值环 加价通知“ v:%”,值; END LOOP; END $$ LANGUAGE plpgsql; 这会导致以下错误: 错误
..
我有两个表: A [ID,column1,column2,column3] B [ID, column1,column2,column3,column4] A 始终是 B 的子集(这意味着 A 的所有列也都在 B )。 我想更新 ID 的记录$ c> B 及其来自 A 的所有数据的 A 列。 ID 同时存在于 A 和 B 中。 是否有 UPD
..
可能重复: Postgres动态查询函数 我希望使用从中返回的字符串 SELECT'backup_'|| TO_CHAR(CURRENT_DATE,'yyyy-mm-dd') ,您会看到它返回了一个字符串。我希望将其用作另一个查询的输入,例如 CREATE TABLE(SELECT'backup_'|| TO_CHAR(CURRENT_DATE, 'y
..
我有以下要在PostgreSQL中实现的MySQL脚本. SET @statement = search_address_query; PREPARE dynquery FROM @statement; EXECUTE dynquery; DEALLOCATE PREPARE dynquery; 如何使用PostgreSQL定义用户定义的变量"@st
..