PL/SQL学习笔记二
1.常量
定义语法格式:
常量名 constant 类型标识符 [not null]:=值;
如:PI constant number(9):=3.1415;
2.基本数据类型变量
基本数据类型
number 数字型
int 整数型
pls_integer 整数型,产生溢出时出现错误
binary_integer 整数型,表示带符号的整数
char 定长字符型,最大255个字符
varchar2 变长字符型,最大2000个字符
long 变长字符型,最大2GB
date 日期型
boolean 布尔型(true,false,null三者之一)
基本数据类型变量的定义语法格式
变量名 类型标识符 [not null]:=值;
如:myvar varchar2(10):='right';
3.复合数据类型变量
3.1 表字段类型变量(使用%type定义)
变量的类型与数据表中的字段的数据类型一致。当数据库表的字段类型修改后,相应的变量的类型也自动修改。
定义语法格式:变量名 表字段名%type;
如:mydate tempuser.testtable.currentdate%type 定义了名为mydate的变量,其类型与tempuser.testtable表中的currentdate字段类型一致。
3.2 记录类型变量
记录类型定义语法格式:
type 数据类型名 is record(
字段1 类型标识符1,
字段2 类型标识符2,
...
);
记录类型变量定义:
变量名 数据类型名;
如定义记录类型:
type myrecord is record(myrecordnumber int, mycurrentdate date);
定义myrecord类型变量srecord:
srecord myrecord;
访问myrecordnumber字段值:
srecord.myrecordnumber
注意:字段1,字段2等也可以是复合数据类型。
3.3 表记录型变量(使用%rowtype定义)
定义语法格式:变量名 表名%rowtype
变量可以获得整个表记录的数据类型,相当于先定义了一个记录类型,其各字段类型分别对应表的各字段类型;然后再定义这种记录类型的变量
3.4 一维表类型变量
定义语法格式:
type 表类型 is table of 类型 index by binary_integer;
表类型变量名 表类型;
相当定义一维数组,这里的类型可以是前面的类型定义,index by binary_integer子句代表以符号整数为索引,这样访问表类型变量中的数据方法就是“表变量名(索引符号整数)“。
示例:
declare
type tabletype1 is table of varchar2(4) index by binary_integer; --定义一维表类型tabletype1
type tabletype2 is table of tempuser.testtable."recordnumber"%type index by binary_integer; --
相关文档:
sql server中如何判断表或者数据库的存在,但在实际使用中,需判断Status状态位:
其中某些状态位可由用户使用 sp_dboption(read only、dbo use only、single user 等)进行设置:
1 = autoclose;使用 sp_dboption 设置。 数据库完全关闭,其资源在最后一个用户注销后释放。
4 = select into/bulkcopy;使用 sp_dbopti ......
SQL自动异地备份方法
方法一:
mssql数据库远程备份的job
/*在远程机器操作系统的计算机管理里建立一个用户名为kyle的用户,密码为1234,同时在那台机器的非系统盘里建一个名为backup的共享文件夹,为了安全另外设置这个文件夹只有这个kyle用户可以访问。*/
declare @sql varchar(500)
select @sql='\\10.2. ......
--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不 ......
SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低。
调整不良SQL通常可以从以下几点切入:
检查不良的SQL,考虑其写法是否还有可优化内容;
检查子查询考虑SQL子查询是否可以用简单连接的方式进行重新书写;
检查优化索引的使用;
考虑数据库的优化器;
查询的一般规则
Ø ......