📄 rx_tiesql.test
字号:
BEGIN { chdir 't' if -d 't/lib'; @INC = '../lib'; require Config; import Config; if ($Config{'extensions'} !~ /\bOS2(::|\/)REXX\b/) { print "1..0\n"; exit 0; }}#extproc perl5 -Rx#! perluse REXX;$db2 = load REXX "sqlar" or die "load";tie $sqlcode, REXX, "SQLCA.SQLCODE";tie $sqlstate, REXX, "SQLCA.SQLSTATE";tie %rexx, REXX, "";sub stmt{ my ($s) = @_; $s =~ s/\s*\n\s*/ /g; $s =~ s/^\s+//; $s =~ s/\s+$//; return $s;}sub sql{ my ($stmt) = stmt(@_); return 0 if $db2->SqlExec($stmt); return $sqlcode >= 0;}sub dbs{ my ($stmt) = stmt(@_); return 0 if $db2->SqlDBS($stmt); return $sqlcode >= 0;}sub error{ my ($where) = @_; print "ERROR in $where: sqlcode=$sqlcode, sqlstate=$sqlstate\n"; dbs("GET MESSAGE INTO :msg LINEWIDTH 75"); print "\n", $rexx{'MSG'}; exit 1;}sql(<<) or error("connect"); CONNECT TO sample IN SHARE MODE$rexx{'STMT'} = stmt(<<); SELECT name FROM sysibm.systablessql(<<) or error("prepare"); PREPARE s1 FROM :stmtsql(<<) or error("declare"); DECLARE c1 CURSOR FOR s1sql(<<) or error("open"); OPEN c1while (1) { sql(<<) or error("fetch"); FETCH c1 INTO :name last if $sqlcode == 100; print "Table name is $rexx{'NAME'}\n";} sql(<<) or error("close"); CLOSE c1sql(<<) or error("rollback"); ROLLBACKsql(<<) or error("disconnect"); CONNECT RESETexit 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -