



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TSQL与PL/SQL的比较1) 数据类型TSQLPL/SQLnumeric(p,s)numeric(p,s) or NUMBER(p,s)decimal(p,s)decimal(p,s) or NUMBER(p,s)char(m)Char(m)varchar(m)varchar2(m)datetimedate记录Record表字段%type表记录%rowtype表Table自动增长变量AUTOINCREMENT2) 变量声明、赋值与引用TSQLPL/SQL声明declare ls_casher char(1), ln_payAmt decimal(14,4)declare on_hand INTEGER; ls_casher char(1);赋值select ls_casher = Als_casher:=A;引用if ls_casher = Aif ls_casher = A then在SQL语句中赋值SELECT ls_casher=sal FROM emp WHERE empno = emp_id;SELECT sal INTO ls_casher FROM emp WHERE empno = emp_id;在SQL语句中引用SELECT * FROM emp WHERE sal = ls_casher;SELECT * FROM emp WHERE sal = ls_casher;3) 函数与操作符字符串TSQLPL/SQL连接+|TRIMLTRIM、RTRIMSUBSTRINGSUBSTR、SUBSTRBINSTR、INSTRBright(str,n)substr(str,-n)日期TSQLPL/SQL系统日期getdate()SYSDATE数值TSQLPL/SQL空值判断与处理TSQLPL/SQL判断IS NULLIS NULL空值替换Isnull(para,0)NVL(para,0)REPLACE(old_string, NULL, my_string) 转换TSQLPL/SQL字符-日期Convert(datetime, expr, style)To_Date(format, expr)字符-日期、数值Convert(char(n), expr, style)To_char(expr,format)数值To_Number() 其它TSQLPL/SQL4) 语句TSQLPL/SQLstatement blockBEGIN.END BEGIN.END;conditional1) IFELSE2) IFELSE IFelse3) CASE1) IF.then.ELSEend if;2) Ifthen elsifelseendif3)decodeRepeatWHILE Boolean_expression statement_block BREAK statement_block CONTINUE1)Loop exit;end loop;2)loopexit whenend loop;3)WHILE condition LOOP sequence_of_statements; EXIT WHEN boolean_expression; END LOOP;3) forin reverseloop end loop;GOTOGOTO labellabel:GOTO label;Exits unconditionallyRETURNReturn;Sets a delay for statement executionWAITFORComment-/*/-/*/PRINTPRINT stringSet serveroutput ondbms_output.put_line(string);RAISERRORRAISERROREXECUTEEXECUTENULL statementNULL;5) cursorTSQLPL/SQLDECLAREDECLARE cursor_name CURSORLOCAL | GLOBALFORWARD_ONLY | SCROLLSTATIC | KEYSET | DYNAMIC | FAST_FORWARDREAD_ONLY | SCROLL_LOCKS | OPTIMISTICTYPE_WARNINGFOR select_statementFOR UPDATE OF column_name ,.nDECLARE CURSOR cursor_name IS SELECT_statement;openOpen cursor_nameOpen cursor_name;FetchFetch cursor_name into var1,var2Fetch cursor_name into var1,var2| %rowtype_var;CloseClose cursor_nameClose cursor_name;AttributeFETCH_STATUSCURSOR_ROWSCURSOR_STATUS%found%notfound%isopen%rowcountDEALLOCATEDEALLOCATE cursor_name隐式cursorSelectinto (仅可处理单行记录)6) triggerTSQLPL/SQL创建CREATE TRIGGER trigger_nameON tableWITH ENCRYPTIONFOR DELETE,INSERT, UPDATE AS sql_statement .n Create or replace trigger t_name before|afterinsert|update|delete on table_name for each row when conditional 类型(按触发级别和时序)语句after行或语句before or after访问数据操纵行的值通过表Inserted、Deleted访问通过记录 :New、 :Old访问,仅可用于行级触发器谓词/函数/属性Inserting、updating、deleteingUpdating(col)Update(col)使能Alter table tabname disable|enable trigger t_name|allAlter trigger t_name disable|enable限制作为触发语句的一部分,不可用事务控制命令不能声明和使用LONG、LONG RAW变量和列删除Drop trigger t_nameDrop trigger t_name;7) procedureTSQLPL/SQL创建CREATE PROCEDURE p_name parameter data_type VARYING = default OUTPUT ,.nWITH RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION AS sql_statement .nCreate or replace procedure p_name Para1 in|out|inout datatype, :=|default default_value IS|AS查询删除DROP PROCEDURE p_nameDROP PROCEDURE p_name;调用EXEC p_name para1,P_name(para1,);参数按位置传递1)按位置传递2)带名传递 P_name(para1=var1);debit_account(amount = 500, acct_id = 10261);8) 数据字典/系统表TSQLPL/SQL系统对象表Dbo.sysobjectsUser_source、User_objects(OBJ)、User_tables(TABS)、User_triggers、ALL_tables、All_View、All_catalog、All_objects对象脚本sp_helptextDESC、ALL_source用户表SysusersAll_users表列All_tab_columns依赖All_dependencies字典表说明DICT9) SQLTSQLPL/SQLSelectSelect var=Select value into var from dualInsertinsert / insert intoinsert intoDelete比较Any, some, all集合Union、Union all、Intersect、Minus、10) 全局变量TSQLPL/SQL语句执行成功errorSQLCODEselect 是否有结果o + SQL%FOUND11) 命令行查询工具ISQLSQL PLUS读取、执行SQL文件Isql Usa Ppass Shost ifilesqlplus -s user/passdb -filename12) 杂项TSQLPL/SQL锁在SQL语句中InsertWith tablockInsertWith TablockxSelectfor updateSelectfor readonly独立语句set transcation isolation level to Read uncommited在SQL语句中select for update of;独立语句lock table tabname in row share mode;lock table tabname in share exclusive mode;用户连接数数据库文件DeviceTablespaceCREATE TABLESPACE testdb DATAFILE C:ORANTDATABASEtestdb.ORA SIZE 20M AUTOEXTEND ON NEXT 2M;CREATE ROLLBACK SEGMENT RB_TESTDB TABLESPACE TESTDB;ALTER ROLLBACK SEGMENT RB_TESTDB ONLINE;显示DML执行计划Show planExplain plan保留点 Save transcation Sp_name ROLLBACK TRANSACTION percentchanged Savepoint Sp_name Rollback to savepoint sp_name对模式对象改名Rename分析对象AnalyzeSp_help?13)对于TSQL autoincremental identity 字段的转换drop table x cascade constraints/create table x( xxx number(10,0) not null, yy varchar2(10) null , constraint pk_tab_xxxxxxx primary key (cc)/CREATE SEQUENCE ISD.TEST_SEQ INCREMENT BY 1 ST
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CADHOH 0004-2023智能手语翻译系统测试规范
- 高中光的折射课件
- 高中中国小说《红楼梦》课件
- 农业企业劳动合同主体变更与农产品质量安全协议
- 电子商务平台劳动合同签订与网络安全责任协议
- 离婚协议无子女抚养及财产分配合同范本
- 髋部解剖课件
- 化工生产工艺改进方案
- 如何在职场中建立人际关系
- 花草养护技巧让园艺更加快乐
- 2025年工会经审财务知识竞赛培训试题考试题库(含答案)
- Starter Unit2 Keep TidySectionB(1a-1d)公开课一等奖创新教学设计人教版(2024)七年级英语上册
- 焊接质量检测记录规范模板
- 2025年辽宁省交通建设投资集团招聘(104人)备考练习试题及答案解析
- 七年级上册数学《相交线与平行线》100题练习(含答案)
- 西藏文化考试题目及答案
- 入党培训考试试题2025及答案
- 公章免责协议合同书模板
- 2025广东海珠区应急管理局招聘安全生产监督检查员18人笔试备考试题及答案解析
- 计算机维护合同补充协议
- 出口食品销售合同范本
评论
0/150
提交评论