如何於 Interactive SQL 環境中直接執行 CL Command?
當你執行 STRSQL 指令,進入輸入 SQL 指令畫面,執行某些 SQL 指令(如 Select * from
library/file)後,有時可能會需要執行某些CL 指令(如 WRKACTJOB),這時你必須離開 SQL
環境,回到 Command Line 才能執行 CL 指令,然後再執行 STRSQL 指令,進入輸入 SQL 指令
畫面執行為完成的 SQL 指令,如此進進出出非常浪費時間,有四兩種方式可以直接於 SQL 環境中直
接執行 CL 指令,兩種使用 SQL PROCEDURE,另兩種直接呼叫系統程式,以上四種你高興用哪個就用哪個。
1. 於 SQL 環境中,建立 呼叫系統程式 QCMDEXC 的 PROCEDURE 如下:
Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:
Enter SQL Statements
Type SQL statement, press Enter.
===> CREATE PROCEDURE your-library/exccmd
(IN cmd CHAR (32000), IN len DEC (15,5))
LANGUAGE CL
NOT DETERMINISTIC
NO SQL
EXTERNAL NAME QSYS/QCMDEXC
PARAMETER STYLE GENERAL
Bottom
F3=Exit F4=Prompt F6=Insert line F9=Retrieve F10=Copy line
F12=Cancel F13=Services F24=More keys
你要將 your-library 改成你自己的 library ,接著按執行鍵產生 exccmd PROCEDURE,
此 cmd PROCEDURE第一個參數是 CL 指令,第二個參數是 CL 指令的長度。
你可在 Enter SQL Statements 畫面輸入 Call exccmd ('WRKACTJOB', 9),此時系統會
執行 WRKACTJOB 指令的畫面,按 F3 回到 Enter SQL Statements 畫面。
2. 於 SQL 環境中,建立 呼叫系統程式 QUSCMDLN 的 PROCEDURE 如下:
Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:
Enter SQL Statements
Type SQL statement, press Enter.
===> CREATE PROCEDURE chancy/cmd
LANGUAGE CL
NOT DETERMINISTIC
NO SQL
EXTERNAL NAME QSYS/QUSCMDLN
PARAMETER STYLE GENERAL
Bottom
F3=Exit F4=Prompt F6=Insert line F9=Retrieve F10=Copy line
F12=Cancel F13=Services F24=More keys
你要將 your-library 改成你自己的 library ,接著按執行鍵產生 cmd PROCEDURE,
你可在 Enter SQL Statements 畫面輸入 Call cmd,此時會出現在 SEU 環境中按 F21
相同的指令畫面視窗,按 F12 回到 Enter SQL Statements 畫面。
3. 於 SQL 環境中,直接呼叫 QCMD 進入 Command Entry 畫面,按 F3 回到 Enter SQL Statements 畫面。
Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:
Enter SQL Statements
Type SQL statement, press Enter.
===> call qcmd
Bottom
F3=Exit F4=Prompt F6=Insert line F9=Retrieve F10=Copy line
F12=Cancel F13=Services F24=More keys
Command Entry WTWNAS01
Request level: 2
Previous commands and messages:
(No previous commands or messages)
Bottom
Type command, press Enter.
===>
F3=Exit F4=Prompt F9=Retrieve F10=Include detailed messages
F11=Display full F12=Cancel F13=Information Assistant F24=More keys
4. 於 SQL 環境中,直接呼叫 QUSCMDLN 進入 Command 視窗畫面,按 F12 回到 Enter SQL Statements 畫面。
Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:
Enter SQL Statements
Type SQL statement, press Enter.
===> call QSYS/QUSCMDLN
Bottom
F3=Exit F4=Prompt F6=Insert line F9=Retrieve F10=Copy line
F12=Cancel F13=Services F24=More keys
Enter SQL Statements
Type SQL statement, press Enter.
===> call QSYS/QUSCMDLN
..............................................................................
: Command :
: :
: ===> :
: F4=Prompt F9=Retrieve F12=Cancel :
: :
:............................................................................:
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期三, 11月 01, 2023
2001-10-18 如何於 Interactive SQL 環境中直接執行 CL Command?
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言