WEB开发网
开发学院数据库DB2 从 SQL 进行操作系统调用 阅读

从 SQL 进行操作系统调用

 2009-11-20 00:00:00 来源:WEB开发网   
核心提示: 现在,让我们构造一个符合上面指定文件格式的文件,从 SQL 进行操作系统调用(7),用此类文件,可以验证 UDF 是否正常运行,以下 SELECT 语句演示了如何在 FROM 子句中使用表函数,接下来,注:我们一定不能在文件中附加行结束符,因为这样做可能不符合所要求的文件格式

现在,让我们构造一个符合上面指定文件格式的文件。用此类文件,可以验证 UDF 是否正常运行。注:我们一定不能在文件中附加行结束符,因为这样做可能不符合所要求的文件格式。用于 echo 命令的 -n 选项意味着我们未终止该字符串。生成文件的方式因所用的操作系统而异。

/home/stolze $ echo -n "1234567890" > test_file 
/home/stolze $ echo -n "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx" >> test_file 
/home/stolze $ echo -n "  987654" >> test_file 
/home/stolze $ echo -n "12345678901234567890123456789012345678901234567890" >> test_file 
/home/stolze $ echo -n "    -2" >> test_file 
/home/stolze $ echo -n "  test string  " >> test_file 

调用表函数的语法与调用标量函数的不同。以下 SELECT 语句演示了如何在 FROM 子句中使用表函数。接下来,您会看到一些非常基本的对该函数的测试。

/home/stolze $ db2 "SELECT * FROM TABLE ( readFileTable( '/home/stolze/test_file' ) ) AS t" 
 
INTCOL   STRING 
----------- -------------------------------------------------- 
 1234567890 abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx 
   987654 12345678901234567890123456789012345678901234567890 
     -2  test string 
      
 3 record(s) selected. 
  
/home/stolze $ db2 "SELECT * FROM TABLE ( readFileTable( '/home/stolze/test_file123' ) ) AS t" 
INTCOL   STRING 
----------- -------------------------------------------------- 
SQL0443N Routine "READFILETABLE" (specific name "*LETOTABLE") has 
returned an error SQLSTATE with diagnostic text "Could not open 
file /home/stolze/test_file123". SQLSTATE=38200 
  
/home/stolze $ echo -n "123" > test_file 
/home/stolze $ db2 "SELECT * FROM TABLE ( readFileTable( '/home/stolze/test_file' ) ) AS t" 
INTCOL   STRING 
----------- -------------------------------------------------- 
SQL0443N Routine "READFILETABLE" (specific name 
"READFILETOTABLE") has returned an error SQLSTATE with diagnostic 
text "Could not read int value in line 1". SQLSTATE=38201 
  
/home/stolze $ touch empty_test 
/home/stolze $ db2 "SELECT * FROM TABLE ( readFileTable( '/home/stolze/empty_test' ) ) AS t" 
 
INTCOL   STRING 
----------- -------------------------------------------------- 
 0 record(s) selected. 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:SQL 进行 操作系统

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接