plsql相关内容

if 语句中的标量子查询 PL/SQL 中的条件

我有一个类似于下面的 If 语句块,它因错误而失败 -PLS-00103:在期待以下之一时遇到符号“SELECT"...... 开始If (select count(*) from Table1) >0 那么dbms_output.put_line('测试');万一;结尾; 我有类似的 Case 语句,效果很好 选择案件当(从表 1 中选择计数(*))>0然后 2别的1结尾从双重 从我在 ..
发布时间:2021-12-24 16:20:41 数据库

从 Oracle 函数返回表

我在这里查看了许多解决方案来尝试解决这个问题,它们已经取得了相当大的进展,但现在我在一些我似乎无法克服的错误中陷入困境. 我使用的是 Oracle 11g.我需要一个函数来返回记录集(表).这是我正在使用的代码: CREATE TYPE T_TABLE IS OBJECT(字段 1 整数, Field2 int);创建类型 T_TABLE_COLL 是 T_TABLE 表;创建或替换函数 ..
发布时间:2021-12-24 16:20:32 数据库

创建 Oracle 过程

我正在尝试创建一个过程并且它创建时没有错误.但是,当我尝试运行它时,我会收到以下错误.请指教 SQL>开始2 Update_STUD_Fin ('1011');3 结束;4/开始*第 1 行的错误:ORA-06511: PL/SQL: 游标已打开ORA-06512:在“ORAIN.UPDATE_STUD_FIN",第 3 行ORA-06512:在“ORAIN.UPDATE_STUD_FIN",第 ..
发布时间:2021-12-24 16:20:23 数据库

通过 dblink 调用存储过程

我正在尝试通过数据库链接调用存储过程.代码如下所示: 声明symbol_cursor package_name.record_cursor;symbol_record package_name.record_name;开始symbol_cursor := package_name.function_name('argument');环形将symbol_cursor 取出到symbol_recor ..
发布时间:2021-12-24 16:20:11 数据库

将 PL/SQL 转换为 Hive QL

我想要一个工具,通过它我可以通过提供 PL/SQL 查询来获取相应的 hive 查询.有很多工具可以将 sql 转换为 hql.即:用于 cloude 数据库的 taod.但它没有向我显示相应的 hive 查询. 有没有这样的工具可以将给定的sql转换为hql.请帮帮我. 谢谢和问候,藤 解决方案 请在 http://www.hplsql.org/ 现在是 Hive 2.x 或 ..
发布时间:2021-12-24 16:20:04 其他开发

Oracle 错误处理

我有这样的代码: DECLAREe_not_exist 例外;PRAGMA EXCEPTION_INIT(e_not_exist, -942);car_name VARCHAR2(20);开始选择 name_of_factory 到 car_name from car where car_id = 1;dbms_output.put_line(car_name);例外当 e_not_exist ..
发布时间:2021-12-24 16:19:58 数据库

更新 MERGE 语句 ORACLE 中的多列

我想在 MERGE 语句中更新多个列,但对于每一列,条件都不同.我该如何实现. 我在两个表中都有超过 100 万行.所有列都是数字.除了 Id,所有 3 列都有数字,精度约为 18 位例如:1.34255353433230675 有没有更好的更新方法.每天可能更新大约 50,000 行所以我必须将更新值合并到目标表.我试过 UPDATE 和 FORALL 但它很慢. 我基本上想合 ..
发布时间:2021-12-24 16:19:54 数据库

PL/SQL 中的 DDL 语句?

我正在尝试使用下面的代码在 PL/SQL 中创建一个表: DECLAREV_NAME VARCHAR2(20);开始EXECUTE IMMEDIATE 'CREATE TABLE TEMP(NAME VARCHAR(20))'​​;立即执行'插入温度值(''XYZ'')';从 TEMP 中选择 NAME 到 V_NAME;结尾;/ SELECT 语句失败并显示以下错误: PL/SQL:ORA ..
发布时间:2021-12-24 16:19:41 数据库

Oracle 如何将查询导出到文本/csv 文件

我想知道如何将查询从 PL/SQL 导出到文本文件或 csv 文件.我想到的查询导出了大量数据(大约 1 gig).所以我也希望将数据拆分到多个文件中; out1.csv输出2.csvout3.csv 我希望能够决定将它分成多少个文件. 有人知道怎么做吗? 解决方案 使用 UTL_FILE. 一个众所周知的(可能是关于这个主题的最完整的讨论)的讨论可以在 Ask T ..
发布时间:2021-12-24 16:19:36 数据库

dbms_output 大小缓冲区溢出

我试图在存储过程中将 dbms_output 的大小设置为无限制. 但它给了我编译错误.所以我在 SQL*Plus 提示中尝试了以下方式.但我仍然收到缓冲区溢出错误.我怎样才能克服这个问题? 将 serveroutput 设置为无限大小;执行服务更新;ORA-20000:ORU-10027:缓冲区溢出,限制为 30000 字节ORA-06512:在“SYS.DBMS_OUTPUT",第 ..
发布时间:2021-12-24 16:19:26 数据库

IF NOT EXISTS 在函数 PLSQL 中

我有一个函数,它在打开游标之前具有三个 If/Then 语句.If/Then 语句在打开游标之前检查有效性. 我想再添加一个 If/Then 有效性检查,但是,它比其他的要复杂一些.下面是一个示例,我已经阻止评论了我想添加的内容: 开始如果不是 procedure.validation_function (, =TRUE) 然后返回变量2;万一;/* 如果不存在(从表 1 中选择“x"WH ..
发布时间:2021-12-24 16:19:11 数据库

在删除不存在的序列、创建现有用户时防止出错

我有一堆用于创建/删除序列、用户和其他对象的 sql 脚本.我正在通过 liquibase 运行这些脚本,但它们失败了,因为当我尝试删除不存在的序列或创建现有用户时,oracle 会抱怨. 有没有oracle方法来防止错误发生? 类似的东西 如果不存在则创建用户/序列 删除用户/安全如果存在 据我所知,我有以下选择: 编写 plsql 脚本 使用 liquib ..
发布时间:2021-12-24 16:19:02 数据库

如何在 PL/SQL 中按每天分组?

我正在尝试使用 PL/SQL 获取每天的统计数据. 每天都有几个条目,错误的 :-) 我想按天对它们进行分组. 我目前在做什么: SELECT TO_CHAR(dateTime, 'DD') DAY, TO_CHAR(dateTime, 'MM') MONTH, errormessage从日志在哪里 (...)按月、日、错误消息分组 这会导致 ORA-00904:“DAY":无效标 ..
发布时间:2021-12-24 16:18:55 数据库

PL/SQL Developer 中执行过程的问题

这是我第一次尝试创建过程并执行它.首先我创建简单的表.表的数据库方案在这里: 表名:Ziaci 列: ZiakId - 主键、数字 姓氏,varchar2 名字,varchar2 TriedaId - 伪造密钥、号码 存储过程只在表中插入数据,我用这个 SQL cmd 创建了存储过程: create procedure ziaci_proc(surname_in i ..
发布时间:2021-12-24 16:18:50 数据库

这个 PL/SQL 有什么问题?绑定变量 * 未声明

这里是: 声明v_str1 varchar2(80);开始v_str1 := '测试';打印:v_str1;结尾 当我在 sql 工作表中使用 SQLDeveloper 运行它时,我得到了这个: 绑定变量“v_str1"未声明匿名块完成 解决方案 明白了: 设置 serveroutput on宣布v_str1 varchar2(80);开始v_str1 := '测试';dbms_out ..
发布时间:2021-12-24 16:18:44 数据库

Oracle 中 varchar2 PL/SQL 子程序参数的大小限制是多少?

在 Oracle PL/SQL 中创建过程(或函数)时,不能指定 varchar2 参数的最大长度,只能指定数据类型.例如 create or replace procedure testproc(arg1 in varchar2) is开始空值;结尾; 您知道在 Oracle 中可以作为 arg1 参数传递给此过程的字符串的最大长度吗? 解决方案 PL/SQL 程序中可能高达 32K ..
发布时间:2021-12-24 16:18:35 数据库

从 from 子句的列中获取表名

我有一个视图 t,其中有一列用于表名,另一列具有 where 子句条件. id|名称|table_in|where_clause1 |山姆 |t1 |年龄 = 222 |约翰|t2 |年龄 = 23 和性别 = '男性' 等等... 现在,我已将记录放入游标中,并且我想运行每个查询. 创建或替换过程 create_cursor是光标 v_records 是从 t 中选择 *;开始F ..
发布时间:2021-12-24 16:18:25 数据库