从 SQL 进行操作系统调用
2009-11-20 00:00:00 来源:WEB开发网编译了代码,并链接到共享库之后,就要测试该函数。将该函数与上面介绍的 UDF readFileTable() 一起使用,我们还可以通过再次从该文件读取数据,并将它表示为数据库中的表,来验证数据是否是以正确的格式写入文件的。
/home/stolze $ db2 "VALUES writeFile( '/home/stolze/write.file', 10, 'some text' )"
1
-----------
0
1 record(s) selected.
/home/stolze $ more write.file
10some text
/home/stolze $ db2 "VALUES writeFile( '/home/stolze/write.file', -1234567890, 'some text' )"
1
-----------
SQL0443N Routine "STOLZE.WRITEFILE" (specific name "WRITEFILE") has
returned an error SQLSTATE with diagnostic text "The number
-1234567890 is too long." SQLSTATE=38301
/home/stolze $ db2 "CREATE TABLE t ( id INTEGER, string VARCHAR(50) )"
/home/stolze $ db2 "INSERT INTO t VALUES ( 1, 'the first text' ), ( 2, 'another text' )"
下列 SELECT 语句中的 UDF 执行的文件写操作处理了名为“t”的表中的两行。如果表包含更多行,则其它行也会被写入文件。请注意,我没有在生成的文件 write.file 中设置行结束符。因此,该文件将在向标准输出转储时只显示一个长字符串,并且只在一行上显示。
/home/stolze $ db2 "SELECT writeFile( '/home/stolze/write.file', id, string ) FROM t"
/home/stolze $ more write.file
1the first text 2another text
/home/stolze $ db2 "SELECT * FROM TABLE ( readFileTable( '/home/stolze/write.file' ) ) AS x"
INTCOL STRING
----------- --------------------------------------------------
1 the first text
2 another text
2 record(s) selected.
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接