- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我对 Oracle 中的存储过程语法有点困惑。
我从一个简单的开始:
select * from test_table;
它起作用了,然后我把它放在一个过程中:
CREATE OR REPLACE PROCEDURE example
IS
BEGIN
select * from test_table;
END;
不起作用。预期的“INTO”是我收到的错误消息。现在,我已经看到了 SQL Server 代码的语法示例,它只是将一个 select 语句插入一个 proc 并且它立即起作用,但这里似乎不是这种情况。
最佳答案
T-SQL 和 PL/SQL 是完全不同的语言。特别是,对于 PL/SQL,您必须将结果选择到某个变量或游标中。根据您计划对记录数据执行的操作 - 过程中的处理 - 或返回给调用者,将驱动您必须执行的操作。
在你的例子中,如果你想返回记录集,你会做这样的事情:
CREATE OR REPLACE PROCEDURE example (
p_recordset OUT SYS_REFCURSOR) AS
BEGIN
OPEN p_recordset FOR
select * from test_table;
END example ;
参见 this link例如。
关于sql - 选择存储过程 plsql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279134/
在表列中,我有这个值: DV-2011-01-000004(数据类型为varchar2) 我怎样才能得到字符串“000004”的一部分?在 t-sql 中,他们有这个 right() 函数,但在 PL
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
当我在 plsql 过程的主体中使用 create 语句时,出现错误PLS-00103 在期望以下之一时遇到符号创建....谁能告诉我这是什么原因和解决方案。 最佳答案 在 PL/SQL 中你不能直接
我一直在使用 PL/SQL 为 Oracle db 创建包,我正在尝试找到一种不使用“put_line”命令来调试 PL/SQL 包的好方法,有没有人有一些关于如何成功调试一个好的提示Toad 或 S
我有一个函数会返回一个类型为 my_table%ROWTYPE 的记录,在调用者中,我可以检查返回的记录是否为空,但是 PL/SQL 提示 if 语句 PLS-00306: wrong number
我想在自动化测试中检查 PL/SQL 查询语法,看起来 https://github.com/porcelli/plsql-parser 可能对此有用。我并不容易找到我将如何安装和使用它。 请注意,这
1、PL/SQL官网下载 官网下载地址:https://www.allroundautomations.com/registered-plsqldev/ 或者在我的网盘下载 链接: h
我有一个充满了我想要运行的 PLSQL 脚本的目录,问题是该目录的内容是动态的,我无法知道这些脚本的名称是什么。 我必须编写一些东西来运行该目录中的所有 sql 文件,但我找不到在 PLSQL 中调用
我正在构建一个使用 PHP 从 Oracle10g 数据库服务器获取数据的应用程序。我的输入表单有一系列复选框,这些复选框通过数组提交到处理页面(代码过滤到相关元素): 处理页面调
我收到以下错误。在 SELECT CASE 语句处收到错误。 PLS-00428: an INTO clause is expected in this SELECT statement FOR RE
我对 plsql 中的动态变量有点了解。我在 EXECUTE IMMEDIATE 上收到错误“无效的主机/绑定(bind)变量名称”陈述。提前致谢。 CREATE OR REPLACE PROCEDU
我正在使用 execute immediate 在 pl/sql 中创建一个临时表,并且还在表中插入为什么要创建表。 之后我更新表格。但是我收到错误表不存在,因为它没有创建表,所以立即执行 示例代码-
我有一个程序,它每隔一小时运行一次,填充一张表。程序处理的记录很多,所以每次执行大约需要12~17分钟。 您现在是否有办法(即触发器)记录每次执行的持续时间(即记录到表中)? 最佳答案 我不知道允许自
我正在分析一些遗留代码。它是大约 80.000 行旧的 plsql 代码。乍一看,源代码中有相当多的重复内容需要删除。而不是做 diff 的手册并查看每个文件,必须有一些工具/命令行混淆来检测源代码的
我是 oracle 作业脚本的新手。我写了一些清除程序来清除所有旧数据并保留过去 3 个月的数据...程序已成功执行。当我手动调用时它也可以工作。程序如下: CREATE OR REPLACE PRO
以下是我的查询: Select Count(*) from Table1 s left join Table2 d
如何使用 put 函数。我的程序不是用 put 编译的。但 putline 工作正常。我想在同一行打印 最佳答案 下面是使用 UTL_FILE.PUT 和 UTL_FILE.PUT_LINE 调用的代
使用关联数组时可以使用SELECT FROM吗?我正在通过.NET应用程序将数组传递给存储过程,并且我希望能够从另一个表中进行选择时将该数组用作条件。可以说我要向该过程传递一个ID数组,我想能够做到这
您好,我有一个 oracle 函数已经存在于数据库中,我必须使用它。如果我如下调用该函数,它工作正常 select PKG_Util.employeedetails('12345') from dua
我在 PL/SQL 中有一个情况,我的过程每分钟都会被一个作业调用。代码如下 procedure ExecuteProc is CURSOR c1 IS SELECT * FROM t
我是一名优秀的程序员,十分优秀!