SQL PL基本概念
--声明变量
--1.语法:
--declare <varible-name> <data-type> <default-constant>默认不变
--declare 变量名 数据类型 常量值
--2.举例:
--declare x,y int default 0; //定义一个x,y的变量,默认值为0
--declare myname varchar(10);
--declare z decimal(9,2) default 0.0;
--3.赋值:
--方法一:使用set语句
--方法二:使用values into语句
--方法三:使用select into语句
--set x=10;
--set y=(select sum(c1) from T1);
--values 10 into x;
--select sum(c1) into y from T1;
--4.回话全局变量
--DB2支持会话全局变量。它与一个特定的会话相关联,它对于这个会话中的每个存储过程都是全局的
--会话全局变量是在存储过程之外声明的。
--语法:
--create variable var_name datatype [default value]
--create 变量名 数据类型 【默认值】
--create varible myvar interger default 0;
--数组
--DB2从9.5开始支持数组,可以在存储过程和应用程序中使用数组,但不能再定义表的时候使用数组
--1.定义数组
--语法:create type <array-type-name> as <data-type> array[integer-constant]
--create type 数组类型名 as 数据类型 array[整型常量值]
--create type nar as integer array[100]
--create type myname as varchar(30) array[];
--声明数组
--declare <array-name> <array-type-name>
--declare mynumber nar;
--declare namearr mynames;
--declare nameArr mynames;
--赋值
--使用set语句
--使用values into语句
--使用select into语句
--使用ARRAR构造函数
--操作数组的函数
--array_delete 删除数组元素
--trim_array 从右开始删除指定数目个元素
--array_first 返回数组中第一个元素
--array_last 返回数组中最后一个元素
--array_next 返回数组下一个元素
--unnest 将数组转换为表
--连接数据库
--connect to sanple!
--定义数组
--create type intarray as integer array[10]
--创建存储过程
--create procedure test()
--begin
--declare testarr intarray;
--赋值1:set testarr=array[1,2,3,4,5,6,7,8,9,10];
--赋值2:values 1 into testarr[1], values 2 into testarr[2]
--赋值3:set testarr[1]=1
--调用
--将上面的代码保存为c:\test.sql,然后在DB2命令窗口执行如下命令
--db2 -td! -vf c:\test.sql
SQL PL基本概念的更多相关文章
- Oracle和MySql的分页查询区别和PL/SQL的基本概念
Oracle和MySql的分页查询区别: Oracle的分析查询,之前Oracle的分页是使用伪列 ROWNUM 结合子查询实现,mysql的分页更简单,直接使用 LIMIT 关键字就可以实现 ...
- SQL PL/SQL语法手册
SQL PL/SQL语法手册 目 录 第一部分 SQL语法部分 3 一. CREATE TABLE 语句 3 二. CREATE SEQUENCE语句 5 三. CREATE VIEW语句 6 ...
- SQL & PL/SQL 模块总结
SQL 1. 各种function 2. merge 3. connect by PL/SQL 1. pl/sql 寄出 2. 游标 3. procedure 4. function 5. packa ...
- sql: PL/SQL proc
A PL/SQL block has the following structure: [DECLARE declaration_statements ] BEGIN executable_state ...
- SQL Server 死锁概念和分析
锁的概念 锁是什么 锁是数据库中在并发操作情形下保护资源的机制.通常(具体要看锁兼容性)只有锁的拥有者才能对被锁的资源进行操作,从而保证数据一致性. 锁的概念可分为几部分 锁资源(锁住什么) 锁模式( ...
- SQL Server Alwayson概念总结
一.alwayson概念 “可用性组” 针对一组离散的用户数据库(称为“可用性数据库” ,它们共同实现故障转移)支持故障转移环境. 一个可用性组支持一组主数据库以及一至八组对应的辅助数据库(包括一个主 ...
- SQL Server“复杂”概念之理解
用惯了Oracle的人,接触SQL Server中的概念时,会觉得比较难理解,甚至感觉有点“绕”,这是因为Oracle中将某些其他数据库中存在的概念给简化了,这里就拿两个最常见的概念来举例说明:1.s ...
- Sql Server 游标概念与实例
引言 先不讲游标的什么概念,看如下Sql Server2008 图例: 需求:两张表的O_ID是一一对应的,现在求将加薪的工资+原来的工资=现在的工资,也就是O_Salary=O_Salary+A_S ...
- sql/pl 安装并连接Oracle数据库
1,首先,先下载pl/sql devloper 安装包.下载对应版本的安装包 下载地址 https://www.allroundautomations.com/bodyplsqldevreg.htm ...
随机推荐
- MVC描述对象的类关系图/调用关系图【学习笔记】
- 游戏服务器:到底使用UDP还是TCP
http://blog.jobbole.com/64638/ 在编写网络游戏的时候,到底使用UDP还是TCP的问题迟早都要面对. 一般来说你会听到人们这样说:“除非你正在写一个动作类游戏,否则你就用T ...
- SpringMVC conflicts with existing, non-compatible bean definition of same name and class 的解决办法
问题起因 最近,项目组的里的同事遇到一个问题,他自己负责的模块,SpringMVC的Controller与其他模块的Controller 类名重名了,导致整个工程都起不来了. 后台报的错误是这样的: ...
- Data guard RAC配置【二】
2. 利用duplicate配置容灾端 1.配置容灾端oracle用户的环境变量,这里以192.166.1.61为例. export ORACLE_BASE=/opt/oracle export OR ...
- Phonegap 3.0 获取当前地址位置
新版本的cordova 3.0 中,使用官方的示例可直接获取当前手机的地理位置,前提是手机开启了gps,或可联网. 获取到的是经纬度坐标值等信息,可通过google api 实现通过经纬度获取当前地理 ...
- 浅谈C# .Net技术面试 , 正在找工作的人一定要看看
1.引子 最近一直在负责.net(B/S方向)技术面试相关的工作,前前后后面试了不少人,但是通过率较低,大概只有20%左右:有颇多感慨. 最近也一直比较困惑,原因究竟是什么? 是我们要求太高,应聘者本 ...
- 误导人的接口(interface)
接口,interface,这个词语有误导之嫌.窃以为,这也是其名称与实际开发不符,造成难于直观理解和使用过程中产生困惑的根源.所谓名不正则言不顺:不怕生错命,最怕改坏名. 在现实生活中,接口通常是指将 ...
- python手记(31)
#!/usr/bin/env python #-*- coding: utf-8 -*- import cv2 import numpy as np fn="test2.jpg" ...
- Linux数据备份
今天需要用到备份网站,写了个脚本,备份了mysql和redis数据. #!/bin/bash BACKDIR="/home/tan/getll_backup" if [ ! -d ...
- lambda -- Java 8 find first element by predicate
Java 8 find first element by predicate up vote6down votefavorite I've just started playing with ...