oracle xsql,oracle xsql详解(二)

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

如:

begin

insert into xsql_employee values(3, 'lin', 'su', 'coder');

commit;

end;

select * from xsql_employee

0818b9ca8b590ca3270a3433284dd417.png

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

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

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

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

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

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

见下图:

0818b9ca8b590ca3270a3433284dd417.png

3).xsql:insert-request

用于执行插入操作

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

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

style="color:#330033;">/p>

4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Insert title here

sign up

Last Name:

name="lastname" />

First Name:

name="firstname" />

Job:

/>

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

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

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

新建一个xsql page 名为 signup.xsql

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

0818b9ca8b590ca3270a3433284dd417.png

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

lastnameValue

firstnameValue

jobValue

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

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

如下:

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

0818b9ca8b590ca3270a3433284dd417.png

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

运行结果如下:

0818b9ca8b590ca3270a3433284dd417.png

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

4).xsql:update-request

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

下面看一个例子:

html页面:useredit.html

Insert title here

User Info

Last Name:
First Name:
Job:

user-update.xsql

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

successful.xsl

Update successful!

运行结果:

0818b9ca8b590ca3270a3433284dd417.png

5).xsql:delete-request

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

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值