对于orale中的表数据类型的一个简单例子

declare

//先建一个表的记录类型
type my_type is record(
a varchar2(100),
b varchar2(100)
);

//定义表
type my_table is table of my_type index by binary_integer;
l_table my_table;
begin

//通过index访问
l_table(1).a :='1';
l_table(1).b := 'first';
l_table(4).a :='2';
l_table(4).b := 'second';
dbms_output.put_line('[' || l_table(1).b || ']');
dbms_output.put_line('[' || l_table(4).b || ']');
end;

批量sql解析为数组, SQL终结符解析 前段时间在写一个服务端程序的时候,需要用到mysql. 客户端连接服务端执行sql分好几种情况, { 查询SQL, 执行SQL, 执行SQL事务, 批量执行支持, 查询执行混合 } ... 其的"批量执行"就有点让我头疼, 玩过sql的都知道, 批量执行一般以";" 终结符算一条sql语句, 以此分割. 难点就是把批量的sql语句, 分割为单条, 一个一个的执行.估计有的易友可能想到了"分割文本, 发送文本数组" 首先"发送文本数组", 我不喜欢,有时候显得麻烦. 其次"分割文本", 你可能会遇到这样以下这样的情况, 也就是sql字符串出现了";", 你能怎么办? 你也很绝望对吧? INSERT INTO `User`(name) values('剑''齿;虎');SELECT LAST_INSERT_ID(); 以上问题还有, 字符串包含单引号就需要用两个单引号示.... 实在不想屈服于前面两种蛋疼的方式,试着自己封装子程序解析, 忽略字符串什么的. 有时候脑子是个好东西,可惜我好像没有似的... 感觉设计起来还挺复杂麻烦的,我没学过什么脚本设计,编译设计的. 于是前段时间论坛有几个帖子被顶起来了,一个叫"无间酱"的大佬制作了好几个练手的脚本语言设计, 我灵机一动...脚本也会遇到这样的问题, 就把源码的解析终结符部分给抠出来了...总算说到重点了. 刚开始还不能直接用, 改了改还算可以了. INSERT INTO User (name,pwd) values('剑齿虎;哇', 'aabb');--注释A:插入语句-- SELECT * FROM User; /*注释B:查询*/ UPDATE User SET pwd='ac''c' WHERE uid=1 结果: 数组:3{ “INSERT INTO User (name,pwd) values('剑齿虎;哇', 'aabb');”, “--注释A:插入语句-- SELECT * FROM User;”, “/*注释B:查询*/ UPDATE User SET pwd='ac''c' WHERE uid=1” } 感觉瞬间正规了许多, 不用去使用那些"偏方", 导致出现各种各样的杯具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值