IBM Books

OS/400 版的 Net.Data 管理與程式設計手冊

SQL 語言環境範例

下列範例顯示一個具有可呼叫 SQL 儲存程序的 DTW_SQL 函數定義的巨集。 它具有三種不同資料類型的參數。DTW_SQL 語言環境會將每一參數中的字串值轉換為正確的內部格式, 並依據 SQL 儲存程序的參照傳遞每一參數。當 SQL 儲存程序完成處理時, 更新的內部呈現將轉換為字串並置於對應的參數中。

%{***********************************************************       
/*   DEFINE BLOCK                                                   
/************************************************************%}     
DEFINE  {                                                           
 MACRO_NAME     = "TEST ALL TYPES"                                  
  DTW_HTML_TABLE      = "YES"                                             
 Procedure      = "NDLIB.TESTTYPE"                                 
 parm1          = "1"              %{SMALLINT     	%}
 parm2          = "11"             %{INT    		    %}
 parm3          = "1.1"            %{DECIMAL (2,1) 	%}
 %}                                                                   
                                                                      
 %FUNCTION(DTW_SQL) CRTPROC(){                                        
  CREATE PROCEDURE $(Procedure)                                       
  ( INOUT SMALLINT, 
	  INOUT INT, 
	  INOUT DECIMAL(2,1))                                                                                               
  EXTERNAL NAME $(Procedure) LANGUAGE C SIMPLE CALL                 
%MESSAGE{                                                          
    default : "$(DTW_DEFAULT_MESSAGE) : continuing.<br>": continue  
  %}                                                                 
 %}                                                                  
                                                                     
 %FUNCTION(DTW_SQL)   myProc                                         
  (INOUT SMALLINT    		parm1, 
   INOUT INT       	   	parm2,             
   INOUT DECIMAL(2,1)   	parm3){ 
CALL $(Procedure)                                         
%}                                                        
 
 
%HTML(REPORT){                                                         
<HEAD>                                                                  
<TITLE>Net.Data : SQL 儲存程序:範例 '$(MACRO_NAME)'. <?TITLE>
</HEAD>                                                                 
<BODY BGCOLOR="#BBFFFF" TEXT="#000000" LINK="#000000">                  
<p><p>                                                                  
呼叫將建立儲存程序的函數。
<p><p>                                                                  
 @CRTPROC()                                                             
<hr>                                                                    
<h2>                                                                    
在呼叫儲存程序前 INOUT 參數的值:<p>
</h2>                                                                  
<b>parm1  (SMALLINT)</b><br>                                           
$(parm1)<p>                                                            
<b>parm2  (INT)</b><br>                                                
$(parm2)<p>                                                            
<b>parm3  (DECIMAL)</b><br>                                            
$(parm3)<p>                                                            
<p>                                                                   
<hr>                                                                  
<h2>                                                                  
呼叫執行儲存程序的函數。
</h2>                                                                 
<p><p>                                                                
 @myProc(parm1,parm2,parm3)                        
<hr>                                                                    
<h2>                                                                    
在呼叫儲存程序後 INOUT 參數的值:<p>
</h2>                                                                   
<b>parm1  (SMALLINT)</b><br>                                            
$(parm1)<p>                                                             
<b>parm2  (INT)</b><br>                                                 
$(parm2)<p>                                                             
<b>parm3  (DECIMAL)</b><br>                                             
$(parm3)<p>
  </body>                       
%}

假定 Web 巨集儲存在程式庫 NETDATA, 檔案 SQLMAC 與成員 SQL1 中, 則會經由從瀏覽器中載入下列 URL 來參照巨集:

http://hostname/cgi-bin/db2www/qsys.lib/netdata.lib/sqlmac.file/
  sql1.mbr/report


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]