Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在存储过程中使用oracle对象类型?

如何在存储过程中使用oracle对象类型?
EN

Stack Overflow用户
提问于 2015-07-03 02:25:54
回答 1查看 1.9K关注 0票数 1

我是Oracle的初学者,我声明了以下对象类型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create or replace 
TYPE behzadtype AS OBJECT 
( /* TODO enter attribute and method declarations here */ 
  SESSIONID Number

)

我希望在我的存储过程中使用这个对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE OR REPLACE PROCEDURE PROCEDURE1 AS 
  behzadtype t1;
BEGIN
  t1.SESSIONID:=12;
   DBMS_OUTPUT.PUT_LINE('THE VALUES OF P_K ARE' || t1.SESSIONID);

END PROCEDURE1;

但是,在编译过程中,我得到了以下错误:

错误(2,14):PLS-00201:必须声明标识符'T1‘

我怎么写正确的程序?谢谢大家。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-03 02:40:58

当您在PL/SQL中声明变量时,首先声明变量的名称,然后是它的数据类型。

在您的示例中,您已经将behzadtype的变量声明为t1类型,然后尝试在代码正文中使用一个名为t1的变量。看起来,您希望将变量t1声明为behzadtype。

此外,您还不能为这样的对象赋值--您必须首先将其初始化为一个对象。

我觉得你想要的是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create or replace type behzadtype as object 
(sessionid number);
/

create or replace procedure procedure1 as 
  t1 behzadtype;
begin
  t1 := behzadtype(12);
  dbms_output.put_line('THE VALUES OF P_K ARE' || t1.sessionid);
end procedure1;
/

begin
  procedure1;
end;
/

THE VALUES OF P_K ARE12

drop type behzadtype;

drop procedure procedure1;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31204499

复制
相关文章
oracle存储过程中使用create table as
今天有个同学跟我说存储过程无法建表,我本地试了一下嚯嚯果然不行。报错PLS-00103
overme
2022/01/17
3.4K0
oracle存储过程中使用create table as
Oracle使用对象类型3(MEMBER方法的对象类型)
MERMER方法用于访问对象实例的数据,如果在对象类型中需要访问特定对象实例的数据,则必须要定义MEMBER方法。 MEMBER方法只能由对象实例调用,不能由对象类型调用。 下面以建立和使用对象类型person_typ2为例: 包含name,gender,birthdate和address等四个属性,以及一个MEMBER过程change_address和一个MEMBER函数get_info。 CREATE OR REPLACE TYPE person_typ2 AS OBJECT( name VARCHAR
小小明童鞋
2018/06/13
1.7K0
Oracle存储过程中游标的简单使用
存储过程中查询语句如何返回多行结果? 我们知道,如果存储过程中查询语句有多行结果输出,会报错:ORA-01422: exact fetch returns more than requested number of rows 若想让存储过程中的查询语句返回多行结果不报错,则需要使用游标来实现。 本例主要也是用来熟悉存储过程中游标的简单使用方法。案例所涉及的数据表使用的是oracle自带的scott用户。
Alfred Zhao
2019/05/24
3.4K0
Oracle存储过程中使用 字符串变量
在Oracle存储过程中,可以使用单引号或双引号来包裹字符串常量或文本。如果要在存储过程中使用引号来包裹变量,则需要考虑以下几点:
破晓之翼
2023/05/01
8850
在.Net中使用Oracle的表类型和对象类型
在一般的数据存取操作过程中,如果要对一个主表和对应的子表进行插入操作,那么我们最常见的写法就是写两个存储过程或者SQL语句,一个负责主表数据插入,一个负责子表数据插入,然后在一个事务中实现主表和子表数据的插入。
深蓝studyzy
2022/06/16
8950
如何在ArrayList中存储不同类型的对象并按照类型输出数据
高久峰
2023/06/27
3180
【DB笔试面试509】在Oracle中,如何在存储过程中暂停指定时间?
DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。
AiDBA宝典
2019/09/30
2.5K0
如何查询Oracle和MSSQL中某表在哪些存储过程中被使用
开发中用存储过程的朋友可能会用到: ORACLE数据库的SQL如下: SELECT * FROM ALL_SOURCE t WHERE t.TYPE = 'PACKAGE BODY' AND t.TEXT LIKE '%TableName%'; MSSQL数据库的SQL如下: SELECT DISTINCT object_name(id) FROM syscomments WHERE id IN (SELECT object_id FROM sys.objects WHERE type ='P') AND 
崔文远TroyCui
2019/02/26
2.3K0
如何在CVM实例中访问对象存储
对象存储服务与客户的VPC打通,需要客户先确认在哪个子网中使用。由腾讯云工程师进行网络配置,会在客户指定的子网中配置一个vip并与对象存储打通并映射。
本地专用集群CDC
2023/04/21
3.4K0
Oracle中number数据类型的存储机制
Oracle中number数据类型存储的是整型,碰巧看到这篇文章讲解了通过分析索引了解0和1的存储机制,值得学习一下。
bisal
2023/01/13
9940
mysql在存储过程中使用事务
CALL addtest('lzc','php','15286962317',@back);
93年的老男孩
2019/12/18
1.7K0
oracle存储过程语法与使用
行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2:   IS关键词表明后面将跟随一个PL/SQL体。 行3:   BEGIN关键词表明PL/SQL体的开始。 行4:   NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句; 行5:   END关键词表明PL/SQL体的结束 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEGIN SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx; EXCEPTION WHEN NO_DATA_FOUND THEN xxxx; END; …
全栈程序员站长
2022/09/13
9300
Oracle数据库存储number类型数据「建议收藏」
oracle的number类型是oracle的内置类型之一,是oracle的最基础数值数据类型。在9iR2及其以前的版本中只支持一种适合存储数值数据的固有数据类型,在10g以后,才出现了两种新的数值类型,即推出本地浮点数据类型(Native Floating-Point Data Types): BINARY_FLOAT(单精度32位)和BINARY_DOUBLE(双精度64位). 这些新数据类型都是基于IEEE二进制浮点运算标准,ANSI/IEEE Std 754-1985 [IEEE 754],使用这些类型时要加上文字f(BINARY_FLOAT)或者d(BINARY_DOUBLE),比如2.07f、3.000094d。
全栈程序员站长
2022/09/15
1.6K0
Oracle数据库存储number类型数据「建议收藏」
使用Docker搭建minio对象存储
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,这篇文章分享下使用Docker搭建一个单磁盘实例的minio对象存储服务。
星哥玩云
2022/08/13
2K0
使用Docker搭建minio对象存储
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
28.8K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
Oracle如何使用PL/SQL调试存储过程
调试过程对找到一个存过的bug或错误是非常重要的,Oracle作为一款强大的商业数据库,其上面的存过少则10几行,多则上千行,免不了bug的存在,存过上千行的话,找bug也很费力,通过调试可以大大减轻这种负担。
用户1289394
2020/12/08
2.1K0
Oracle如何使用PL/SQL调试存储过程
七牛对象存储的使用
Jekyll个人网页是个好技术,github.com是个好网站,不过存储容量和流量的限制是个头痛的事情,当然,也在情理之中。 好在我们生于“云”的时代,有很多办法来扩展我们的世界。在引用图片方面,主要的要求就是服务商可以提供外链。由于在国内,我们的选择少了一些,不过还是有几个优选的: 百度图片,网址是https://timgsa.baidu.com,图片可以外链,缺点是路径太长,在Markdown源文件中看起来很丑也难操作。另外图片来源主要靠搜索,难以表达自己的精确要求。 新浪图片,在微博中上传的图片
俺踏月色而来
2018/06/20
2K0
轻松入门腾讯云存储系列二:对象存储COS应用类型介绍
《轻松入门腾讯云存储系列二:对象存储COS应用类型介绍》介绍了腾讯云对象存储(COS)的两种应用类型:标准存储和低频存储。标准存储提供了高可靠性、高可用性和高性能的对象存储服务,适用于有大量热点文件,需要频繁访问数据的业务场景;低频存储则提供了高可靠性和较低存储成本,适用于不频繁访问数据的存储,如网盘数据、大数据分析、政企业务数据、低频档案和监控数据等。
腾讯云开发者社区
2017/12/18
2.8K0
轻松入门腾讯云存储系列二:对象存储COS应用类型介绍
存储04-存储的三种类型:块/文件/对象
存储按照对外提供服务的方式分为:块存储、文件存储、对象存储。块存储即我们日常说的SAN存储;文件存储即我们日常说的NAS存储;对象存储是最近几年才兴起的一种存储接口。
大话IT架构
2020/03/31
2.6K0
存储04-存储的三种类型:块/文件/对象
如何在Hive中使用Struct类型
Hive中支持多种数据类型除了常用的TINYINT、SMALLINT、INT、BIGINT、BOOLEAN、FLOAT、DOUBLE、STRING、BINARY、TIMESTAMP、DECIMAL、DATE、VARCHAR、CHAR类型外,当然还包含一些复杂的数据类型(array、map、struct、union)。本篇文章Fayson主要介绍在Hive中使用Struct类型存储数据。
Fayson
2018/11/16
11.3K0

相似问题

如何在oracle存储过程中将对象类型设置为out?

15

存储过程中的类型验证- oracle

12

Oracle存储过程-类型对象

22

使用JDBC从存储过程中获取Oracle表类型

28

如何在oracle存储过程中返回自己的类型数据?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文