从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实 ...
随机推荐
- 判断python socket服务端有没有关闭的方法
通过 getattr(socket, '_closed') 的返回值可以判断服务端的运行状态. True 是关闭状态,False 是运行中. import socket ip = 'localhost ...
- 深入理解JVM 学习笔记2
Java内存区域 在执行java程序的过程中JVM会把它管理的内存划分为多个不同的数据区域. 根据<Java 虚拟机规范 SE7版>的规定,Java 虚拟机所管理的内存将会包括以下几个运行 ...
- CCF 201812-2 小明放学
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...
- 关于nginx隐藏index.php入口文件注意事项
最近项目用的是nginx服务,apache怎么隐藏入口不赘述,官方文档有介绍,Nginx隐藏官方文档这样说的: 实践中,这样是不对的,应该在网站对应的vhost.conf中配置: server { l ...
- vue2中底层响应式数据实现
<input type="text" id="textInput" />输入:<span id="textSpan"> ...
- (原创)odoo one2many字段以子列表形式显示
模块详情
- Maven中的元素Exclusions、modules、parent、properties以及import
Dependencies:是可选依赖(Optional Dependencies) Exclusions:是依赖排除(Dependency Exclusions) 2.Dependencies (1) ...
- Linux编译安装中的--prefix
本文主要说明--prefix参数的作用,其主要用在编译安装源代码应用中的./configure环节. 1.源码安装一般包括几个步骤:配置(configure),编译(make),安装(make ins ...
- ts(typescript)讲解for , for...in..., for...of..., while, every, some, map, filter
for 一般用于已知循环次数 var num:number = 5; var i:number; var factorial = 1; for(i = num;i>=1;i--) { fact ...
- uniapp 配置钉钉小程序package.json文件
{ "uni-app": { "scripts": { "mp-dingtalk": { "title": " ...