Postgres整数数组作为参数?
发布时间:2020-12-13 16:38:25 所属栏目:百科 来源:网络整理
导读:我明白,在Postgres pure中,您可以将整数数组传递给一个函数,但.NET数据提供者Npgsql中不支持该数组。 我目前有一个DbCommand,我将一个调用加载到一个存储的proc中,添加一个参数并执行标量来获取一个Id来填充一个对象。 现在需要以n个整数作为参数。这些
我明白,在Postgres pure中,您可以将整数数组传递给一个函数,但.NET数据提供者Npgsql中不支持该数组。
我目前有一个DbCommand,我将一个调用加载到一个存储的proc中,添加一个参数并执行标量来获取一个Id来填充一个对象。 现在需要以n个整数作为参数。这些用于创建将新创建的记录链接到整数参数的子记录。 理想情况下,我宁可不必在每个整数的DbCommand上进行多个ExecuteNonQuery调用,所以我要构建一个csv字符串作为在数据库端分割的参数。 我通常生活在LINQ 2 SQL中,享受Db抽象,通过手工数据访问来处理这个项目,人们通常会将这些参数传递给postgres?
见:
http://www.postgresql.org/docs/9.1/static/arrays.html
如果您的非本机驱动程序仍然不允许您传递数组,那么您可以: 传递数组的字符串表示(您的存储过程可以解析为数组 – 请参阅 CREATE FUNCTION my_method(TEXT) RETURNS VOID AS $$ DECLARE ids INT[]; BEGIN ids = string_to_array($1,','); ... END $$ LANGUAGE plpgsql; 然后 SELECT my_method(:1) 与:1 =’1,2,3,4′ CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ ... END $$ LANGUAGE plpgsql; 然后 SELECT my_method('{1,4}') >选择不使用绑定变量并发出明确的命令字符串,并将所有参数拼写出来(请确保验证或转义来自外部的所有参数,以避免SQL注入攻击。) CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ ... END $$ LANGUAGE plpgsql; 然后 SELECT my_method(ARRAY [1,4]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 【转载自sqlite官网】SQLite Android Bindings
- Postgresql用户角色管理
- ruby-on-rails – 在RDiscount输出中生成nofollo
- A Primer on Open-Source NoSQL Databases
- oracle11.2.0.1升级到11.2.0.4 linux6
- react-native 常用命令
- objective-c – 如何将JSON对象保存到Core Data?
- ruby-on-rails – 在Apache下的子目录中配置Rail
- ruby-on-rails – Rspec2测试before_validation方
- React-native 知识点-this.bind-返回键-React.cl
热点阅读