1.DataBase Modifications with XSQL

1)build-in Actions xsql:dml

dml,(Data Manipulation Language),那就意味着改变数据库记录,xsql:dml元素用来执行dml语句,包括插入,更新,删除,甚至包括创建和删除数据库对象。xsql:dml元素对处理插入数据非常有用,你还可以用他执行pl/sql块。

如:

<?xml version="1.0"?>
<page  xmlns:xsql="urn:oracle-xsql" connection="xsql_test">
<dml>
<xsql:dml>
begin
    insert into xsql_employee values(3, 'lin', 'su', 'coder');
    commit;
end;
</xsql:dml>
</dml>
<xsql:query>
select * from xsql_employee
</xsql:query>
</page>

对与简单的数据库操作来说,内置的dml标签 无疑非常方便,但是对于复杂的操作,他则显得力不从心。

因此,我们需要学习更深入的xsql:dml操作。

2).form 参数和格式化的数据结构

我们可以通过xstl来格式化数据:

1.格式化从xsql:query输出的数据。

2.格式化从客户端传过来的参数。

见下图:

3).xsql:insert-request

用于执行插入操作

让我们一步一步来看一个例子:

首先第一步我们需要一个html表单,新建一个html文件,名为signup.html

好了,html写好了,下一步我们需要创建一个xsql page来插入数据,不过再这之前,我们有必要来了解下这整个过程,正如你所猜测的,http post request 以键值对的形式传送着参数。xsql默认的把他们转换为简单的xml文档。然后你的样式表把请求中的xml文档转换为格式化后修改操作需要的的xml格式。

我们不妨看一下,xsql默认转换成的简单的xml是什么样的。

下面的xsql page将显示默认的xml参数格式。

新建一个xsql page 名为 signup.xsql

打开signup.html输入数据后提交.得到如下页面:

而我们需要把这个xml格式转换为如下:

我们通过下面的xslt来进行转换,新建一个xsl文件,名为signup.xsl

我们可以验证一下是否转换成功,在刚才的signup.xsql中引用xsl文件

如下:

再次提交表单,看到已经格式化好的页面:

最后我们需要将格式化好的xml插入到数据库中,修改signup.xsql,代码如下:

运行结果如下:

再看数据库,数据已经插入了。

4).xsql:update-request

xsql:update-request 和xsql:insert-request非常类似,处理过程都是一样的。不同之处在于:更新是基于已经存在的某条记录更新,而插入不需要 。所以xsql在更新的时候需要知道更新哪条记录。在xsql中用xsql:update-request的key-columns属性来指定。他列出了需要更新的字段。

下面看一个例子:

html页面:useredit.html

user-update.xsql

这里我们加了一个successful.xsl来格式化插入成功后显示的信息。

successful.xsl

运行结果:

5).xsql:delete-request

delete-request和update-request一样,也是指定key-columns来确定要删除的行。这里就不再重复了。

转载于:https://www.cnblogs.com/huc87/archive/2009/07/24/1530248.html

oracle xsql详解(二)相关推荐

  1. oracle xsql 详解(一)

    本文假设你已经知道什么是xsql. 1.hello xsql 1)准备工作 创建数据库用户并分配权限,这里就不详细说了.我已经有一个本地数据库的用户huchen. 在用户下创建表 -- Create  ...

  2. oracle spool文件名+系统时间,Oracle Spool详解

    转自:http://blog.sina.com.cn/s/blog_6bccf0360101hzsh.html 1.spool的作用是什么? spool的作用可以用一句话来描述:在sqlplus中用来 ...

  3. oracle分区表编程,Oracle分区表详解

    当前位置:我的异常网» 编程 » Oracle分区表详解 Oracle分区表详解 www.myexceptions.net  网友分享于:2013-10-28  浏览:25次 Oracle分区表详解 ...

  4. oracle有哪两种内存结构,Oracle体系结构详解(物理构造,内存结构和逻辑结构)...

    当前位置:我的异常网» 数据库 » Oracle体系结构详解(物理构造,内存结构和逻辑结构 Oracle体系结构详解(物理构造,内存结构和逻辑结构) www.myexceptions.net  网友分 ...

  5. Oracle 存储过程详解(上)

    目录 一.存储过程与存储函数的定义 二.创建 / 执行存储过程所需的权限 1.resource权限 2.create.execute procedure权限 三.创建 / 执行存储过程 四.变量与参数 ...

  6. 全志 android 编译,全志Android SDK编译详解(二)

    注意要确定安装了jdk) 第一步: cd  lichee; ./build.sh  -p sun5i_elite -k 3.0  (apt-get install uboot-mkimage需要安装m ...

  7. oracle list 分区详解,ORACLE分区表详解

    此文从以下几个方面来整理关于分区表的概念及操作:1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. (1.) 表空间及分区表 ...

  8. Oracle translate() 详解+实例

    Oracle translate() 详解+实例 一.语法: TRANSLATE(string,from_str,to_str) 二.目的 返回将(所有出现的)from_str中的每个字符替换为to_ ...

  9. oracle scn 重置,学习笔记:Oracle SCN详解 SCN与Oracle数据库恢复的关系

    天萃荷净 分享一篇关于Oracle SCN的详解,介绍SCN与Oracle数据库恢复的关系和SCN在数据库中的作用 一.为什么需要System checkpoint SCN号与Datafile Che ...

  10. oracle 序列详解

    Oracle 序列详解 一 序列定义 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).不占用磁盘空间,占用内存. 其主要用途是生成表的主键值, ...

最新文章

  1. 解题报告:luogu P1688 新单词接龙问题【trie树、dfs、DP递推】
  2. 安装、登录centos7
  3. Groovy 使用完全解析
  4. The podfile
  5. 【链接保存】十分钟上手sklearn:特征提取,常用模型,交叉验证
  6. log4j和logback的冲突导致日志输出异常
  7. Grunt Server:Fatal error: Port 35729 is already in use by another process.
  8. 精通 Pandas · 翻译完成
  9. java核心技术 pdf下载_JAVA程序员面试秘笈 PDF 下载_Java知识分享网
  10. Qt QDataTime QString 两个类的使用
  11. 传感器网络与物联网-1.射频识别技术
  12. Maven的配置和使用(三)
  13. 深入学习GridBagLayout
  14. PDF格式分析(九)如何判断PDF / VT
  15. 计算机上什么键有存储,电脑保存的快捷键是什么_电脑知识
  16. 软件开发几个阶段的内容以及产物
  17. 利用ISA防火墙发布邮件服务器并部署OWA访问
  18. uni-app 编译成H5页面运行,提示“连接服务器超时,请点击屏幕重试”
  19. weui表单添加功能_万能表单小程序 weui V8.1.16 weiqing功能模块 支持PC端管理 + 微信端管理 目前最强大的表单系统 weiqing微赞通用功能模块...
  20. 永不断电的IPONE4

热门文章

  1. 如何在 Keras 中开发具有注意力的编码器-解码器模型
  2. Mxnet框架学习笔记(二):Kaggle房价预测实战分析
  3. SQLServer实现将VARCHAR字符型对象转化为int/float数值型对象后排序、对VARCHAR对象截取指定部分再转化为数值对象进行排序
  4. 面试:Synchronized锁升级(理解)
  5. 2021-06-19表单,内嵌框架
  6. linux getopt_long函数,新手疑问:getopt_long()重入问题
  7. Chainmaker 查询当前区块高度
  8. linux 格式化查看json文件数据
  9. 移动端中 H5输入框在弹起键盘后被遮挡
  10. java 写文件缓存_使用java NIO及高速缓冲区写入文件过程解析