从Sql Server转战Oracle 之 变量声明
1 --两种声明方法:没有sql所谓的select或者select @para from table 以及 set 赋值,且赋值的时候需要在begin end事务内
2 一 直接声明
3 declare str varchar2(256) --变量不加@,直接定义类型
4 begin
5 select 'asd' into str from dual;--通过into赋值,如果有多个变量时,按照顺序赋值select 'asd' ,'a','s'into str,str1,str2 from dual;
6 dbms_output.put_line(str); --输出结果为asd
7 end
8

1 create table a
2 (
3 name varchar2(256)
4 ,id varchar2(256)
5 )
6
7 insert into a
8 values('asd','1')
创建测试表
二 利用%type 或%rowtype 声明
declare str table.id%type --未知变量类型时,利用%type定义目标表字段的类型
begin
select id into str from a where id=1;
dbms_output.put_line(str);--结果 1
end; --注意这里的关键字是%rowtype
declare str a%rowtype ; --也可以利用第二种的方式,直接定义目标表的类型,
begin
select * into str from a where id=1;--直接取表中其中一列赋值
dbms_output.put_line('str.name='||str.name||' str.id='||str.id);--结果 str.name=asd str.id=1
end;
赋值方法除利用select value into 进行赋值外,类似sql的set @a=(select count(1)from table)的赋值如下
declare str varchar2(256);
sq varchar2(256);
begin
--select id into str from a where id=1;
sq :='select id from a where id=1';
execute immediate sq into str; --即通过动态sql进行赋值
dbms_output.put_line(str);
end;
在存储过程中声明变量时
转载请注明出处!
参考:https://www.cnblogs.com/Marydon20170307/p/9567493.html
从Sql Server转战Oracle 之 变量声明的更多相关文章
- SQL server 与Oracle开发比较
●概念上区别 1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管 理系统(RDBMS). 2.Oracle使用Internet文件系统,该系统基 ...
- 使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务
使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务 作者:Nikolay Manchev 分步构建一个跨这些平台的 ...
- Win7 64位下sql server链接oracle的方法
继上一次mysql同步sql server后,这一次需要将Oracle同步到sql server上来,方案相似,只是在sql server链接oracle的时候费了很多时间. 一.测试环境 本方案实现 ...
- sql server连接oracle并实现增删改查
需要一个软件ODAC112040Xcopy_64bit 我连接的oracle是11g r2 sqlserver 是 2016 软件下载 https://pan.baidu.com/s/1OpYmpR ...
- SQL SERVER与ORACLE的几点区别
1.数据类型不同. sql server 的数据类型 int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatet ...
- Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决
Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决 I. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity ...
- sql server 与 oracle的区别(转)
--1.数据类型不同. --sql server 的数据类型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalld ...
- 关于sql server远程访问Oracle数据库 OpenQuery查询返回多条数据的问题
在Sql Server远程访问Oracle 中的数据库表时: 远程语法通常为: select * from OpenQuery(Oracle链接服务器名称,‘查询语句’) eg: select * f ...
- sql server 向oracle导入表
选择相应的数据库,右键,任务,选择导出数据 点击下一步 选择Microsoft OLE DB Provider for Sql Server 选择下一步 目标选择.net Framework data ...
- 【转】SQL Server与Oracle的区别
转自:http://soft.chinabyte.com/database/255/12258255.shtml SQL Server与Oracle的区别 2012-02-10 00:00 中国IT实 ...
随机推荐
- Firefox彻底禁用自动更新提示
实验版本:96 安装目录下新建文件夹:distribution 新建文件:policies.json 文件内容为: { "policies": { "DisableApp ...
- OS-lab2
OS-lab2 启动之后,我们的操作系统要能运行,需要一个载体,就是内存.内存的访问不是直接的,而是通过MMU完成.在完成MMU之前,我们先看看一些需要用到的宏定义和函数. include pmap. ...
- 宝塔部署 vue + thinkphp
部署https://blog.csdn.net/xinxinsky/article/details/105441164?spm=1001.2101.3001.6650.2&utm_medium ...
- ES-增删改查
写作目的 供想了解ES数据操作的伙伴学习ES的CRUD操作. 测试环境 ES7.8.1 postman 创建索引库 // PUT请求 localhost:9200/test_alert { " ...
- 专业视频图片水印清除工具丨HitPaw Watermark Remover 2.1.3
软件下载 MAC/Windows HitPaw Watermark Remover 软件介绍 HitPaw Watermark Remover 是一款能够轻松去除图片视频水印的软件.对于有水印的图片视 ...
- 问题记录_IDEA启动报错:Failed to create JVM. JVM Path
问题记录_IDEA启动报错:Failed to create JVM. JVM Path 起因 下午写代码的时候感觉IDEA有点卡,不应该啊,我16G咋回卡呢,分配的内存也不小,于是又去加大内存分配, ...
- MyBatisPlus 报MP_OPTLOCK_VERSION_ORIGINAL not found. Available parameters are错误
配置mybatisplus乐观锁的过程 1.在数据库表中添加version字段类型int 2.在实体类中增加version属性,属性上增加@Version注解 3.配置乐观锁插件 @Configura ...
- Hadoop 设置静态IP、关闭防火墙
设置静态IP [root@localhost ~]# cd /etc[root@localhost etc]# cd sysconfig[root@localhost sysconfig]# cd n ...
- 芯片ADS9224R的FPGA驱动实现
ADS9224R这款芯片是德州仪器(TI)的一款SAR ADC,笔者写这芯片IP核大概有段时间了,这款ADC采集芯片挺复杂的.笔者当时对写axi4_lite的IP核还不是很熟悉,就接下了含有这款芯片的 ...
- Windows系统的显示器校正
莫名其妙的显示器显示的内容整体向上偏移,导致一些页面在最大化窗口时,看不见页面的标题,及操作按钮,如页面的关闭,缩小按钮. 解决方法:点击显示器下方的menu按钮,找到 设定 选项,再选择 复位 即可 ...