Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Postgres过程中使用IN和INOUT值调用过程

在AWS SCT(模式转换工具)的帮助下,我已经将oracle数据库迁移到RDS AWS上的Aurora Postgresql。Oracle中的一些包以以下格式转换为postgres。

代码语言:javascript
运行
AI代码解释
复制
CREATE OR REPLACE PROCEDURE miptd."pkg_rpt$strptst"(i_molo text,INOUT o_cursor refcursor)
LANGUAGE 'plpgsql'
AS $BODY$
DECLARE

    o_cursor$ATTRIBUTES aws_oracle_data.TCursorAttributes;
    
BEGIN   
    o_cursor := NULL;
    OPEN o_cursor FOR
    
    EXECUTE CONCAT_WS('','select count(ID) From 
                        (select DISTINCT D.ID, B.CSS_DISTRICT, B.RDA, C.TECH_TYPE, C.FORECAST_DATE, D.SITE_TYPE
                        FROM
                        ALB.VIEWSIRPT B, 
                        ALB.VIEWWRDATA C,
                        ALB.', i_molo, ' D
                        WHERE
                        (D.CSR = C.CSR) AND (D.CUSTOMER = C.CUSTOMER)
                        AND (D.CSR = B.CSR ) AND (D.CUSTOMER = B.CUSTOMER )  )a ');

    o_cursor$ATTRIBUTES := ROW (TRUE, 0, NULL, NULL);
END;
$BODY$;

不知道postgres中游标的用法如何调用该过程。?通过调用过程,我在哪里可以看到我的结果值?是否可以将其转换为函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-20 12:16:35

您应该使用函数,并且应该避免SQL注入:

代码语言:javascript
运行
AI代码解释
复制
CREATE function some_name(i_molo text) RETURNS bigint
   LANGUAGE plpgsql AS
$$BEGIN
   RETURN EXECUTE
      format('SELECT count(ID)
              FROM (SELECT DISTINCT D.ID,
                                    B.CSS_DISTRICT,
                                    B.RDA, C.TECH_TYPE,
                                    C.FORECAST_DATE,
                                    D.SITE_TYPE
                    FROM ALB.%I D
                       JOIN ALB.VIEWWRDATA C
                          ON D.CUSTOMER = C.CUSTOMER AND D.CSR = C.CSR
                       JOIN ALB.VIEWSIRPT B
                          ON D.CUSTOMER = B.CUSTOMER AND D.CSR = B.CSR
                   ) AS a',
              i_molo);
END;$$;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68453934

复制
相关文章
【说站】python字符串的多行输出
1、字符串的每行末尾使用 \ 续行。以多行的形式书写字符串,每行的末尾使用 \ 续行。
很酷的站长
2022/11/23
1.6K0
javascript 空格_css怎样输出空格
document.write(” 1 2 3 “);
全栈程序员站长
2022/11/09
3.3K0
python3.6 输入多行,输出多行
import sys result=[] for line in sys.stdin:     if line[0] is '\n':         break     score = line.split()     score=list(map(int,score))     n=score[0]     score=score[1:]     scoresum=sum(score)-min(score)-max(score)     sc=float(scoresum)/(n-2)     result.append(round(sc,2)) for i in result:     print(format(i,'.2f'))
py3study
2020/01/09
2.7K0
python多行注释和跨行字符串
3》三个单引号(或三个双引号)也可以表示跨行字符串,如: >>> s=''' ... hello ... python ... ''' >>> s '\nhello\npython\n'
py3study
2020/01/07
2.7K0
Js限制空格和空字符串
isNull(content) { const reg = '^[ ]+$' const re = new RegExp(reg) return re.test(content) }, true为空 false为有输入值
明知山
2021/05/20
5.2K0
ES6字符串模板多行清除行头空格制表符
对于多行文本我肯定优先考虑用 ES6字符串模板来实现,直接使用的效果并不是很符合想要的。
CRPER
2019/11/29
1.1K0
DataTable-输出Excel添加额外行的实现
有个需求需要在 Datatable 输出的 Excel 顶端添加几行数据, 看了下 Datatable 官方的实现, 作者似乎也没啥好主意, 不过一些用户提供了方法。
szhshp
2022/09/21
3630
php用空格分隔字符串,分割字符串空格[通俗易懂]
String[] data = s.split(“@”); // 以@分割字符串,获得@后的值。
全栈程序员站长
2022/11/16
6.3K0
C++字符串变量的运算 | 使用+输出两个字符串变量
在上一节《C++字符串处理函数》中小林讲过:在以字符数组存放字符串时,字符串的运算要用字符串函数,如strcat strcmp、strcpy。
用户7886150
2021/02/08
2K0
C++字符串变量的运算 | 使用+输出两个字符串变量
在《7.2 C++字符串处理函数》中小林讲过:在以字符数组存放字符串时,字符串的运算要用字符串函数,如strcat strcmp、strcpy。
小林C语言
2020/12/11
2.1K0
C++字符串变量的运算 | 使用+输出两个字符串变量
如何在 CMD 启动的软件传入带空格的路径
在使用 CMD 命令的时候,会将传入的命令按照空格分为多个不同的命令,但是路径经常是带有空格的。特别是想将参数传入到通过命令行启动的软件里面,可以如何做?
林德熙
2019/06/15
4.2K0
Java 多行字符串
在本文中,我们来说说 Java 的多行字符串(multiline strings )。
HoneyMoose
2022/08/08
4.2K0
Java 多行字符串
变量和字符串
4、变量的命名可以去命名任何合法的名字,但作为一个优秀的程序员,请将尽量给变量取个专业些的名字。
清菡
2020/12/02
8490
变量和字符串
python笔记74- yaml 使用特殊符号| 解决字符串带换行的问题
在yaml文件中通过字符串写一行,如果字符串需要换行的,可以使用 yaml中的特殊符号|和>。
上海-悠悠
2023/01/03
3.7K0
php删除字符串的空格
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105882.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/09
3.7K0
带空格的字符串反转
就是输入一段文本,然后让你实现字符串反转。 肺炎严重,假期延长,闲的不得不自主学习,然后就日常刷水题。 第一次的方法,简单易懂,就是时间超限了。TLIM #include<bits/stdc++.h> using namespace std; stack<string> st; int main(){ string s; cin>>s; reverse(s.begin(),s.end()); st.push(s); while(getchar() != '\n'){ cin>>s; re
杨鹏伟
2020/09/11
1.4K0
JS去除字符串的空格
JS去除字符串前后空格 //去前后空格 //var LO = data.replace(/(^\s*)|(\s*$)/g, ""); //var LA = data.replace(/(^\s*)|(\s*$)/g, ""); JS去除字符串所有空格 //直接去除所有的空格 var LL = data.replace(/\s+/g,""); 在Kettle做数据清洗中用到的: //Script here //去前后空格 //var LO = LONGITUDE.replace(/(^\s*)|(\s*
手撕代码八百里
2020/07/28
8.2K0
字符串:替换空格
示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy."
代码随想录
2020/09/10
4.7K0
字符串:替换空格
编程短文:Bash echo如何原生输出带空格的字符串而不换行
为什么要数量掌握bash编程,因为它是linux下的默认工具。任何时候与系统内核对话,我们都直接面对shell。操作系统提供了为数众多的便利工具,用于完成复杂的操作。
程序员小助手
2020/05/26
4.4K0
点击加载更多

相似问题

带空格的Bash多行输出,作为数组变量

10

clojure -在组合字符串和变量时避免额外的空格

20

将多行变量写入cmd文件

13

如何删除输出之间的额外空格?

23

删除cmd中变量开头的空格

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档