知识小结(PL/SQL)
1) 时间转换函数中如果有时间变量yyyy-mm-dd两边需两''
to_date(''' || to_char(a_valid_date_end, 'yyyy-mm-dd') ||''', ''yyyy-mm-dd'')
2) select distinct(e.itemnum) bulk collect into v_itemnum
将字符串数组以分隔符分隔的字符串调用
pkg_maximo_common.get_string(v_itemnum, ',', '')
3) union只是将两个结果联结起来一起显示,并不是联结两个表并成一个新表.
4) 判断tbl_cad表是否有数据用where exists (select null from tbl_cad where c_id = cei_id)
5)当判断某一表中是够存在符合某一集合的一个值时使用下列语句:
for v_row in c_cursor loop
select count(*) into v_count from tmp_wrong_work_order where twwo_tmp_work_order = v_row.two_id;
6)函数substr(str,1,M)返回字符串str中从一开始的M长的字符串。
7)定义游标在过程名后面,并且可以附语句给cursor。
8)当需要连接两个表相同记录到一个表中时,用符号 连接(+)。
9)当需要只取一个选择集的一条记录,或者小于等于某条记录时,在选择语句后添加rownum.
10)把选择出来的几条记录存入一个数组时用bulk collect into.
11)考虑时间变量为空,并且与其他时间变量比较大小时不能用nvl()函数
12)LPAD(str,n,'0')如果字符串str不足n位,则在前面填充字符'0'。
13)select seq_work_plan_version.currval into v_version_id from dual
选择序列标记的当前最大值为变量v_version_id,dual是作为只选择一条记录。
14)select record_name bulk collect into record_array from table
选择表(table)中的字段(record_name)的记录成批的进入集合变量(record_array)中
15)if record_array.count > 0 then
forall v_index in record_array.first..record_array.last
按照集合(record_array)的顺序来处理集合(record_array)。
16)rownum并不一定是按照顺序排序的,有可能出现不排序的。
17)遍历数据集
FOR x IN (SELECT /*+ ALL_ROWS */ clm.CLM_BLL_NO,
MAX(TO_NUMBER(NVL(cld.CLD_FTR_PDT, '0'))) AS GDF
from CorrectionListMaster clm,
 
相关文档:
什么是数据库分区?
数据库分区是一种对表的横向分割,Sql server 2005企业版和之后的Sql server版本才提供这种技术,这种对表的横向分割不同于2000中的表分割,它对访问用户是透明的,用户并不会感觉的表被横向分割了。(2000中的表横向分割是建n个表例如按时间建表每月一个表,表名不同,最后需要做一个大视图)
为什 ......
master 数据库
master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Server 的初始化信息,它始终有一个可用的最新 master 数据库备份。由于master数据库对SQL S ......
1、 sql查询最后一条数据select * from table order by id DESC limit 1
2、select top1 * from tablename where order by id desc
通过在mysql中测试,只有第一种可以使用,不知道其他数据库是否支持第二种方法,网上很多人说用第二种方法 ......
废话少说,(已经有句废话了.)
看表
语句: SELECT * from C
//---------------------------------------
Cno Cname Teacher
---- ---------- --------
1 语文 祁静
2 &n ......