5. from from里面主要是制作相关的表单模型,以及各数据项的一些相关的操作,或者是整个模块的限定,这限定主要是通过触发器来实现的,from框架中可以写各数据项的触发器,可能使用的过程,在各个项的属性设按照要求进行统一设定,bu别18字符88,branch_no 4字符20,日期8字符50,输入行和非输入行的背景颜色的设定,
12. Plsql中间的函数 一些使用过的高频函数
Sum()求和函数,一般情况下是通过求和来赋值或者做为条件语句的条件。也可以单独出现,赋值给其他的项。
SELECT v_name, SUM(v_exp) FROM testcom2 GROUP BY v_name,v_lasttime
(好像sum()函数不能进行单独的操作,只能在dml中配套使用)avg(),count(),max()
min().等
13. 转换函数
Nvl()判断语句,主要是判断是否关系
select nvl(id_grade,1)from teststu –如果id_grade空项则返回后面的=的值,这里的值为1。
Decode()条件判断语句和if-then-elseif-then
功能相似,Select id_id,id_name,decode(id_id,'123','id_name=22','5654') from teststu where id_sex=' 男1'--decode的用法,(条件,值1,翻译值2,)
14. substr()截取字符函数,根据需要剔除不需要的字符,(截取时间的某些位,截取标识符的某些位)
select id_name, substr(id_addres,'2','1')from teststu where id_id>'123' --截取字符函数(项,截取起始字段,截取的位数)
15. ADD_MONTHS
增加或减去月份
select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;
LAST_DAY
返回日期的最后一天
select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;
SYSDATE
16. TO_NUMBER
将给出的字符转换为数字
SQL> select to_number('1999') year from dual;
round
SELECT round('56.235','2')FROM dual 取两位
有效数,要进行四舍五入的计算
trunc
SELECT trunc('56.235','2')FROM dual 取两位有效数,不进行四舍五入计算
17. Sql中间的基本语句
Order by,排序,只可能出现在最后一条的语句。
Uion联合语句,连接两个表的数据
Like 用于where后面的通配的,
In允许在多个值中选择
Between,选择两个值间的数据,
19. 其它的一些自己使用过的实验使用游标进行循环操作
Vselect *from testcom2;
DECLARE
CURSOR c1 IS
SELECT * FROM testcom2 WHERE v_caseid<124 ;--v_buider='看看' ;(--where后面的饿条件是限定符合条件的循环的次数,这里“看”有两行,就是要在表中循环两次)
-- 2011503 更新,这里限定循环那些项,不是循环次数的限定
20. BEGIN
FOR r1 IN c1 LOOP
UPDATE testcom2
SET v_time=v_time+100
WHERE --v_name IS NOT NULL
--AND
v_name=r1.v_name ; --这里得到条件才是限定循环次数的,,,v_name=r1.v_name两个位置不一样,结果也不一样
--AND r1.v_uptime=v_uptime
--AND r1.v_caseid=v_caseid;--两个条件确定循环的那些项,修改了那些项
END LOOP;
--COMMIT;
END;
21. 自己弄得一个简单的触发器
declare
-- v_n number;
begin
-- select count(*)into v_n from ctest;
-- for v_n in 1..2 loop
insert into gt_temp_session (main_code,
sub_code,v1,v2,v3,v4)
select '111','22222',a.v_id,a.v_name,a.v_time,a.v_num
--into :ctest1.v_id,:ctest1.v_name,:ctest1.v_time--,:ctest1.v_num
from ctest a ; --ctest1 b --where a.v_id =:ctest1.v_id ;
--end loop;-- where rownum = 1; go_block('gt_temp_session');execute_query;
end;
22. inert into table
select
from-----------这个侧重用于将一个表中的数据插入到其他表中,可以是临时表。
select
into-----------这个要是侧重从表中查出数据,然后赋值给零时变量,不能插到其他表中
union连接的两个或多个表必修是列数相同的!