oracle - Oracle 数据库中的存储过程 (11g)
问题描述
我已经为此苦苦挣扎了一段时间。
我想创建 3 个不同的存储过程,但我不太确定语法以及如何在 Oracle 数据库(版本 11g)中执行它们
我的表包含这些列,这是定义:
身份证号码
金额 VARCHAR2(30)
日期 VARCHAR2(30)
我想创建一个允许我从单个表中获取所有行的过程,这就是我所做的:
create or replace PROCEDURE GetAllRows(cursor_ OUT SYS_REFCURSOR) AS
BEGIN
OPEN cursor_ FOR
SELECT *
FROM My_Table
END GetAllRows;
没事吧?我应该如何执行它?
另外,我想在该表中插入一些信息,所以我创建了另一个 SP:
CREATE PROCEDURE insert_row(
id IN NUMBER,
amount IN VARCHAR,
date IN VARCHAR
)
IS
BEGIN
INSERT INTO My_table(id, amount, id) VALUES (id, amount, date);
END insert_row;
没事吧?我应该如何执行它?
我对 Oracle 数据库有点迷失了。
解决方案
请尝试使用以下代码获取存储过程输出。
variable rc refcursor;
exec GetAllRows( :rc );
print rc;
推荐阅读
- android - 没有将存储在 Shared Preference 中的数据从 Native 端获取到 Flutter Module
- python - Pygame程序在按下红十字后并不总是退出
- python - Python:为什么我的函数返回一个空列表?
- azure - Azure Web App 中现有文件的 FileNotFound 异常
- r - R中的因子w/水平是什么意思?
- pandas - 基于其他列序列的某些条件的分组求和
- python - 使用 python 连接 Oracle12c(尝试检索错误 ORA-01804 的文本时出错)
- c# - 在 Linux 上更改主机名和端口托管 .net 核心 DLL
- angular-material - 如何在angular7中的多个mat-select选项中设置选定的选项
- php - Laravel 将多个参数传递给命名路由