{"id":1332,"date":"2019-06-26T09:19:27","date_gmt":"2019-06-26T01:19:27","guid":{"rendered":"http:\/\/www.hefeiyu.com\/?p=1332"},"modified":"2019-06-26T09:19:27","modified_gmt":"2019-06-26T01:19:27","slug":"genero%e8%af%ad%e6%b3%95%e6%80%bb%e7%bb%93","status":"publish","type":"post","link":"https:\/\/www.hefeiyu.com\/?p=1332","title":{"rendered":"genero\u8bed\u6cd5\u603b\u7ed3"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"1205\" height=\"151\" class=\"wp-image-1333\" src=\"http:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/06\/word-image-66.png\" srcset=\"https:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/06\/word-image-66.png 1205w, https:\/\/www.hefeiyu.com\/wp-content\/uploads\/2019\/06\/word-image-66-768x96.png 768w\" sizes=\"auto, (max-width: 1205px) 100vw, 1205px\" \/> \u6587\u4ef6\u7ec4\u6210\u7ed3\u6784<\/p>\n<ol>\n<li>\u547d\u540d\u89c4\u5219<\/li>\n<li>Program \u7684\u7ec4\u6210\uff1a<\/li>\n<li>\u57fa\u7840\u8bed\u6cd5<\/li>\n<li>\u62a5\u8868\u4e0e\u9664\u9519\u6307\u4ee4<\/li>\n<li><strong>\u6587\u4ef6\u7ec4\u6210\u7ed3\u6784<\/strong><\/li>\n<\/ol>\n<table>\n<tbody>\n<tr>\n<td><strong>\u539f\u59cb\u7a0b\u5e8f<\/strong><\/td>\n<td><strong>\u7f16\u8bd1\u540e\u7684\u7a0b\u5e8f<\/strong><\/td>\n<td><strong>\u53ef\u6267\u884c\u7a0b\u5e8f<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>MODULE \u7a0b\u5e8f\u6587\u4ef6 *.4gl<\/strong><\/td>\n<td><strong> *.42m<\/strong><\/td>\n<td><strong>*.42r<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>FORM\u6587\u4ef6 *.per<\/strong><\/td>\n<td><strong>*.42f<\/strong><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><strong>\u5176\u4ed6\u683c\u5f0f *.sch <\/strong><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ol>\n<li><strong>\u547d\u540d\u89c4\u5219<\/strong><\/li>\n<\/ol>\n<table>\n<tbody>\n<tr>\n<td><strong>\u7ec4\u6210\u90e8\u5206<\/strong><\/td>\n<td><strong>\u8be6\u7ec6\u5185\u5bb9<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>\u7a0b\u5e8f\u547d\u540d\u89c4\u5219<\/strong><\/td>\n<td><strong>S_XXXXXXXX :\u4e00\u822c\u5b50\u7a0b\u5e8f \u5b58\u4e8e $top\/sub<\/strong><\/p>\n<p><strong>CL_XXXXXXX :\u5171\u4eab\u5b50\u7a0b\u5e8f \u5b58\u4e8e $top\/lib<\/strong><\/p>\n<p><strong>Q_XXXXXXXX :\u67e5\u8be2\u5b50\u7a0b\u5e8f \u5b58\u4e8e $top\/qry<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>\u51fd\u6570\u547d\u540d\u89c4\u5219<\/strong><\/td>\n<td>XXXX_yy :\u7a0b\u5e8f\u4ee3\u7801\u7b80\u79f0_\u51fd\u6570\u529f\u80fd\u540d<\/p>\n<p>\u5982\uff1a i010_a \u4e3ai010\u4f5c\u4e1a\u7684\u65b0\u589e\u51fd\u6570 i010_tmp \u51fd\u6570\u540d\u5b57<\/td>\n<\/tr>\n<tr>\n<td><strong>\u53d8\u91cf\u547d\u540d\u89c4\u5219<\/strong><\/td>\n<td>G_xxxxxx :\u5168\u5c40\u53d8\u91cf<\/p>\n<p>L_xxxxxx :\u533a\u57df\u6027\u53d8\u91cf<\/p>\n<p>P_xxxxxx :\u4f20\u9012\u53d8\u91cf<\/p>\n<p>S_xxxxxx :\u5c4f\u5e55\u53d8\u91cf<\/td>\n<\/tr>\n<tr>\n<td><strong>\u6587\u4ef6\u547d\u540d\u89c4\u5219<\/strong><\/td>\n<td>\u6587\u4ef6\u540d\u79f0\uff08TABLE NAME\uff09 : xxx_file \u6570\u636e\u5e93<\/p>\n<p>\u5b57\u6bb5\u540d\u79f0\uff08FIELD NAME\uff09 : xxx99 99\u4ee3\u8868\u6d41\u6c34\u7f16\u53f7<\/p>\n<p>\u4e0a\u9762\u4e24\u9879\u5185\u5bb9 \u9700\u4e8e P-ZTA\u4e2d\u6ce8\u518c\u65b9\u53ef\u4f7f\u7528\u3002<\/p>\n<p>\u5b58\u4e8eUNIX\u7684\u5916\u90e8\u540d\u79f0\uff08Sch Files\uff09 : c_xxx.sch<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ol>\n<li><strong>Program \u7684\u7ec4\u6210\uff1a Module + Form <\/strong>\n<ol>\n<li><strong>Module<\/strong><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<table>\n<tbody>\n<tr>\n<td><strong>\u7ec4\u6210\u90e8\u5206<\/strong><\/td>\n<td><strong>\u8be6\u7ec6\u5185\u5bb9<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>database<\/strong><\/td>\n<td><strong>Database dbname # <\/strong>\u7f16\u8bd1\u65f6\u53c2\u8003\u7684schema \u6570\u636e\u5e93,\u4e0d\u662f\u5b9e\u9645\u6570\u636e\u5e93<\/td>\n<\/tr>\n<tr>\n<td><strong>GLOBALS<\/strong><\/td>\n<td>Globals \u201c..\/config\/top.global\u201d #\u5168\u90e8\u7a0b\u5e8f\u5171\u7528\u7684\u5168\u5c40\u53d8\u91cf<\/p>\n<p>Define var_Name datatype #\u5b9a\u4e49\u53d8\u91cf<\/p>\n<p>Constant cons_name datatype #\u5b9a\u4e49\u5e38\u91cf<\/td>\n<\/tr>\n<tr>\n<td><strong>MAIN<\/strong><\/td>\n<td><strong>MAIN<\/strong><\/p>\n<p><strong>\u2026\u2026<\/strong><\/p>\n<p><strong>END MAIN<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>FUNCTION<\/strong><\/td>\n<td>FUNCTION FunName()<\/p>\n<p>\u2026\u2026<\/p>\n<p>END FUNCTION<\/td>\n<\/tr>\n<tr>\n<td><strong>REPORT<\/strong><\/td>\n<td>REPORT Rep_Name(sr)<\/p>\n<p>\uff0e\uff0e\uff0e<\/p>\n<p>FORMAT<\/p>\n<p>PAGE HEADER<\/p>\n<p>BEFORE GROUP<\/p>\n<p>ON EVERY ROW<\/p>\n<p>AFTER GROUP<\/p>\n<p>\uff0e\uff0e\uff0e<\/p>\n<p>END REPORT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li><strong>Form<\/strong><\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td><strong>\u7ec4\u6210\u90e8\u5206<\/strong><\/td>\n<td><strong>\u8be6\u7ec6\u5185\u5bb9<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>SCHEMA<\/strong><\/td>\n<td><strong>Schema ds #\u8868\u793a\u8bbe\u8ba1\u753b\u9762\u65f6\u6240\u53c2\u8003\u7684\u6570\u636e\u5e93\uff0c\u9ed8\u8ba4\u4e3aFOMRONLY \u8868\u793a\u4e0e\u6570\u636e\u5e93\u65e0\u5173\uff1b<\/strong><\/p>\n<p><strong>\u4e3a\u4e86\u4e0e\u65e7\u7248\u672c\u517c\u5bb9 SCHEMA \u53ef\u4ee5\u7528DATABASE\u6307\u4ee4\u4ee3\u66ff<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>Action default<\/strong><\/td>\n<td>\u4e0d\u4f7f\u7528\uff0c\u7528\u5176\u4ed6\u65b9\u5f0f\u8bbe\u5b9a\uff08\u53c2\u8003TIPTOP GP\u6280\u672f\u624b\u518c\uff09\u5fc5\u987b\u7d27\u63a5\u5728SCHEMA\u4e0b\u9762\u505a<\/p>\n<h1>Action Defaults<\/h1>\n<p>Action add(text=\u201dAppend\u201d,accelerator=control-v)<\/p>\n<p>Action del(text=\u201ddelete\u201d,accelerator=shift-F2)<\/p>\n<p>Action zoom(text=\u201dZoom\u201d,comment=\u201dOpen zoom window\u201d)<\/p>\n<p>Action quit(text= \u201cquit\u201d,accelerator=Shift-F5,image=\u201dquit\u201d)<\/p>\n<h1>END<\/h1>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\">\u7b2c\u4e8c\u79cd\u5904\u7406\u65b9\u5f0f\uff1a<\/p>\n<p>\u5728\u7a0b\u5e8fact.4gl \u4e2d<\/p>\n<p>\u53bb\u547c\u53ebCALL ui.Interface.loadActionDefaults(&#8220;act&#8221;) \u4f20\u5f97\u53c2\u6570\u662fact.4ad \u6863\u540d\uff0c\u9644<\/p>\n<p>\u6863\u540d\u53ef\u4e0d\u5199\uff0c\u5219\u4ea7\u751f\u7684\u7ed3\u679c\u4e5f\u53ef\u8ddf\u5728per \u6863\u7f16\u8f91<strong>ACTION DEFAULTS <\/strong>\u7684\u7ed3\u679c\u4e00\u6837<\/p>\n<p>\u7f16\u5199\u4e0b\u9762\u7684XML\u6587\u6863 \u201cACT.4ad\u201d<\/p>\n<p>&lt;ActionDefaultList&gt;<\/p>\n<p>&lt;ActionDefault name=&#8221;add&#8221; text=&#8221;Append&#8221; acceleratorName=&#8221;CONTROL-V&#8221; \/&gt;<\/p>\n<p>&lt;ActionDefault name=&#8221;del&#8221; text=&#8221;Delete&#8221; acceleratorName=&#8221;SHIFT-F2&#8243;\/&gt;<\/p>\n<p>&lt;ActionDefault name=&#8221;zoom&#8221; text=&#8221;Zoom&#8221; comment=&#8221;Open zoom window&#8221; \/&gt;<\/p>\n<p>&lt;ActionDefault name=&#8221;quit&#8221; text=&#8221;Quit&#8221; acceleratorName=&#8221;SHIFT-F5&#8243; image=&#8221;quit&#8221; \/&gt;<\/p>\n<p>&lt;\/ActionDefaultList&gt;<\/p>\n<p>MAIN<\/p>\n<p>#\u547c\u53eb\u5e76\u8f7d\u5165\u9ed8\u8ba4ACTION\u9879<\/p>\n<p><strong>CALL ui.Interface.loadActionDefaults(&#8220;act&#8221;)<\/strong><\/p>\n<p><strong>\u2026\u2026<\/strong><\/p>\n<p>MENU &#8220;&#8221;<\/p>\n<p><strong>ON ACTION add<\/strong><\/p>\n<p>CALL act_a()<\/p>\n<p><strong>ON ACTION del \u2026\u2026<\/strong><\/p>\n<p><strong>ON ACTION zoom \u2026\u2026<\/strong><\/p>\n<p><strong>ON ACTION quit \u2026\u2026<\/strong><\/p>\n<p>EXIT Program<\/p>\n<p>END MENU<\/td>\n<\/tr>\n<tr>\n<td><strong>TOPMENU<\/strong><\/td>\n<td>\u4e0d\u4f7f\u7528\uff0c\u7528\u5176\u4ed6\u65b9\u5f0f\u8bbe\u5b9a\uff08\u53c2\u8003TIPTOP GP\u6280\u672f\u624b\u518c\uff09<\/p>\n<p>TOPMENU MenuName<\/p>\n<p>GROUP form(TEXT=\u201dForm\u201d)<\/p>\n<p>COMMAND help(Text=\u201dForm\u201d,IMAGE=\u201dquest\u201d)<\/p>\n<p>COMMAND quit(Text=\u201dquit\u201d)<\/p>\n<p>END<\/p>\n<p>GROUP Edit(TEXT=\u201dEdit\u201d)<\/p>\n<p>COMMAND accecpt(Text=\u201dvalidate\u201d image=\u201dok\u201d,tag=\u201dAcceptMenu\u201d)<\/p>\n<p>COMMAND Cancel(Text=\u201dCancel\u201d,IMAGE=\u201dcancel\u201d)<\/p>\n<p>SEPARATOR<\/p>\n<p>COMMAND editCut<\/p>\n<p>\u2026\u2026<\/p>\n<p>END<\/p>\n<p>END &#8211;TOPMENU<\/td>\n<\/tr>\n<tr>\n<td><strong>LAYOUT<\/strong><\/td>\n<td>LAYOUT #\u4e0d\u80fd\u4e0eSCREEN\u540c\u65f6\u51fa\u73b0<\/p>\n<p>VBOX<\/p>\n<p>GROUP #\u663e\u793a\u7ec4\u5408\u6846<\/p>\n<p>FOLDER<\/p>\n<p>#FOLDER\u4e0b\u9762\u53ea\u80fd\u7528PAGE\uff0cPAGE\u4e0b\u9762\u53ef\u4ee5\u6709FORDER-PAGE<\/p>\n<p>PAGE PageName (text = \u201cmain\u201d)<\/p>\n<p>GRID<\/p>\n<p>{<\/p>\n<p>Employee no [azb1]<\/p>\n<p>Name [gen02]<\/p>\n<p>Department no [gen03] [gem02]<\/p>\n<p>}<\/p>\n<p>END &#8211;GRID<\/p>\n<p>END \u2013 PAGE<\/p>\n<p>PAGE PageName (text = \u201cmain\u201d)<\/p>\n<p>GRID<\/p>\n<p>{<\/p>\n<p>Employee no [azb1]<\/p>\n<p>Name [gen02]<\/p>\n<p>Department no [gen03] [gem02]<\/p>\n<p>}<\/p>\n<p>END &#8211;GRID<\/p>\n<p>END &#8212; PAGE<\/p>\n<p>END &#8211;FOLDER<\/p>\n<p>END \u2013GROUP<\/p>\n<p>END &#8211;VBOX<\/p>\n<p>END&#8211;LAYOUT<\/td>\n<\/tr>\n<tr>\n<td><strong>Table<\/strong><\/td>\n<td>\u5c4f\u5e55\u753b\u9762\u663e\u793a\u7684\u5b57\u6bb5\u6240\u5bf9\u5e94\u7684\u8868\u683c\u540d\u79f0<\/td>\n<\/tr>\n<tr>\n<td><strong>ATTRIBUTES<\/strong><\/td>\n<td>\u5b9a\u4e49\u5c4f\u5e55\u753b\u9762\u4e0a\u5b57\u6bb5\u7684\u540d\u79f0\u53ca\u663e\u793a\u7279\u6027\uff0c\u6240\u6709SCREEN\u4e0eLAYOUT\u91cc\u8981\u5b9a\u4e49\u7684\u5b57\u6bb5Tag\u5728\u8fd9\u91cc\u90fd\u8981\u505a\u8fdb\u4e00\u6b65\u7684\u5b9a\u4e49<\/p>\n<p>ATTRIBUTES<\/p>\n<p>END<\/td>\n<\/tr>\n<tr>\n<td><strong>INSTRUCTCTIONS<\/strong><\/td>\n<td>\u5b9a\u4e49\u5c4f\u5e55\u8bb0\u5f55<\/p>\n<p>\u8bed\u6cd5\uff1aSCREEN RECORD <em>record-name <\/em>(<em>field-list<\/em>)<\/p>\n<p>\u4f8b\u5b50\uff1a<strong>SCREEN RECORD s_aaa (aaa.*)<\/strong>\u5c4f\u5e55\u8bb0\u5f55\u662f\u4e00\u4e2a\u5b8c\u6574\u7684\u8868\u683c SCREEN RECORD s_employee(emp_no,emp_age)<\/p>\n<p>\u5b9a\u4e49\u5c4f\u5e55\u6570\u7ec4<\/p>\n<p>\u8bed\u6cd5\uff1aSCREEN RECORD <em>array-name <\/em>[ <em>size <\/em>] ( <em>field-list <\/em>)<\/p>\n<p>\u4f8b\u5b50\uff1a<strong>SCREEN RECORD s_aaa[3] (f001<\/strong>\uff0c<strong>f002<\/strong>\uff0c<strong>f003)<\/strong><\/p>\n<p>INSTRUCTIONS<\/p>\n<p>SCREEN RECORD s_employee(emp_no,emp_age)<\/p>\n<p>END<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ol>\n<li>\u57fa\u7840\u8bed\u6cd5\n<ol>\n<li>\u53d8\u91cf\u53ca\u8868\u8fbe\u5f0f<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<table>\n<tbody>\n<tr>\n<td>\u53d8\u91cf\u7684\u7c7b\u578b\u548c\u5b9a\u4e49<\/td>\n<td>DATABASE ds<\/p>\n<p><strong>GLOBALS<\/strong><\/p>\n<p>DEFINE g_employee CHAR(10) #\u5168\u5c40\u53d8\u91cf<\/p>\n<h2>END GLOBALS<\/h2>\n<p>DEFINE g_tty CHAR(32) #\u6a21\u5757\u53d8\u91cf<\/p>\n<p><strong>MAIN<\/strong><\/p>\n<p>DEFINE answer CHAR(1) #\u5c40\u90e8\u53d8\u91cf\uff0c\u76f4\u63a5\u5b9a\u4e49<\/p>\n<p>DEFINE p_employee_no LIKE employee_file.employee_no<\/p>\n<p>#\u5bf9\u5e94\u6570\u636e\u5e93\u5b57\u6bb5\u5b9a\u4e49<\/p>\n<p><strong>END MAIN<\/strong><\/p>\n<p><strong>FUNCTION ins_employee()<\/strong><\/p>\n<p>DEFINE flag CHAR(1),<\/p>\n<p>change SMALLINT<\/p>\n<p><strong>END FUNCTION<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\u6570\u636e\u7c7b\u578b<\/td>\n<td>\u578b\u6001\u540d\u79f0 \u8bf4\u660e \u9ed8\u8ba4\u503c<\/p>\n<p>CHAR \u56fa\u5b9a\u5b57\u7b26 Null<\/p>\n<p>VARCHAR \u52a8\u6001\u5b57\u7b26 Null<\/p>\n<p>STRING \u52a8\u6001\u5b9a\u4e49\u5927\u5c0f\u7684\u5b57\u7b26\u4e32\u50a8\u5b58\u7a7a\u95f4 Null<\/p>\n<p>DATE \u65e5\u671f 1899-12-31<\/p>\n<p>DATETIME \u65e5\u671f\u65f6\u95f4 Null<\/p>\n<p>INTEGER 4 BYTE \u6574\u6570 Zero<\/p>\n<p>SMALLINT 2 BYTE \u6574\u6570 Zero<\/p>\n<p>FLOAT 8 BYTE \u5355\u7cbe\u5ea6\u6d6e\u70b9\u6570 Zero<\/p>\n<p>SMALLFLOAT 4 BYTE \u53cc\u7cbe\u5ea6\u6d6e\u70b9\u6570 Zero<\/p>\n<p>DEC(p,s)<\/p>\n<p>\u9ad8\u7cbe\u5ea6\u6570\u503c-precision \u4e3a\u6240\u6709\u6570\u5b57\u4e2a\u6570(\u4e0d\u542b\u5c0f\u6570<\/p>\n<p>\u70b9)\uff0cscale \u4e3a\u5c0f\u6570\u70b9\u7684\u4f4d\u6570\uff0c\u4e0d\u53ef\u5927\u4e8eprecision<\/p>\n<p>\u7684\u4f4d\u6570<\/p>\n<p>Null<\/p>\n<p>MONEY \u540cDECIMAL\uff0c\u4f46\u4f1a\u5728\u6570\u503c\u524d\u9762\u52a0\u4e0a\u8d27\u5e01\u7b26\u53f7 Null<\/p>\n<p>BYTE \u5927\u91cf\u4e8c\u8fdb\u5236\u6570\u636e(\u56fe\u7247) Null<\/p>\n<p>TEXT \u5927\u91cf\u5b57\u7b26\u6570\u636e Null<\/td>\n<\/tr>\n<tr>\n<td>\u53d8\u91cf\u7684\u96c6\u5408\uff08<strong>Records<\/strong>\uff09<\/td>\n<td>MAIN<\/p>\n<p>DEFINE rec RECORD<\/p>\n<p>id INTEGER,<\/p>\n<p>name VARCHAR(100),<\/p>\n<p>birth DATE<\/p>\n<p>END RECORD #\u96c6\u5408\u7684\u5b9a\u4e49<\/p>\n<p>LET rec.id = 50 #\u96c6\u5408\u53d8\u91cf\u5143\u7d20\u7684\u8d4b\u503c<\/p>\n<p>LET rec.name = &#8220;Scott&#8221;<\/p>\n<p>LET rec.birth = TODAY<\/p>\n<p>DISPLAY rec.*<\/p>\n<p>END MAIN<\/td>\n<\/tr>\n<tr>\n<td>\u521d\u59cb\u5316\u4e00\u7ec4\u53d8\u91cf INITIALIZE<\/td>\n<td>DATABASE ds<\/p>\n<p>MAIN<\/p>\n<p>DEFINE cr RECORD LIKE customer.*<\/p>\n<p>INITIALIZE cr.cust_name TO NULL<\/p>\n<p>INITIALIZE cr.* LIKE customer.*<\/p>\n<p>END MAIN<\/td>\n<\/tr>\n<tr>\n<td>\u8868\u8fbe\u5f0f<\/td>\n<td>\u5b57\u7b26\u4e32\u8868\u8fbe\u5f0f<\/p>\n<p>\u8868\u8fbe\u5f0f \u610f\u4e49<\/p>\n<p>, \u5b57\u7b26\u4e32\u8fde\u7ed3<\/p>\n<p>|| \u5b57\u7b26\u4e32\u8fde\u7ed3\uff0c\u4f46\u8fde\u7ed3\u503c\u6709\u4e00\u4e2a\u662fNULL\uff0c\u7ed3\u679c\u5c31\u4f1a\u662f NULL<\/p>\n<p>[start,end] \u4ece\u5b57\u7b26\u4e32\u4e2d\u53d6\u51fa\u5b50\u5b57\u7b26\u4e32\uff08\u5f00\u59cb\u5230\u7ed3\u675f\uff09<\/p>\n<p>USING \u9488\u5bf9\u6570\u503c\u6216\u65e5\u671f\u8bbe\u5b9a\u5176\u6253\u5370\u7684\u683c\u5f0f<\/p>\n<p>CLIPPED \u6d88\u9664\u5c3e\u90e8\u7a7a\u767d<\/p>\n<p>SPACES \u8f93\u51fa\u7a7a\u767d\u5b57\u7b26\u4e32<\/td>\n<\/tr>\n<tr>\n<td>USING \u6570\u503c<\/td>\n<td>* \u7a7a\u767d\u7684\u5730\u65b9\u4ee5*\u7f6e\u6362<\/p>\n<p>\uff06 \u7a7a\u767d\u7684\u5730\u65b9\u4ee50 \u7f6e\u6362<\/p>\n<p>\uff03<\/p>\n<p>\u4e0d\u4f1a\u5bf9\u8f93\u51fa\u7684\u6570\u5b57\u4f5c\u4efb\u4f55\u5f71\u54cd\uff0c\u901a\u5e38\u7528\u4e8e\u9650\u5236\u5b57\u7b26\u4e32\u8f93\u51fa\u65f6\u7684\u6700\u5927\u957f\u5ea6<\/p>\n<p>\uff1c \u5c06\u6570\u5b57\u6539\u4e3a\u5411\u5de6\u9760<\/p>\n<p>\uff0c \u6307\u5b9a\u9017\u53f7\u51fa\u73b0\u7684\u4f4d\u7f6e<\/p>\n<p>\uff0e \u6307\u5b9a\u5c0f\u6570\u70b9\u51fa\u73b0\u7684\u4f4d\u7f6e<\/p>\n<p>\uff0d \u5f53\u8f93\u51fa\u7684\u6570\u5b57\u5c0f\u4e8e\u96f6\u65f6\uff0c\u52a0\u4e0a\u4e00\u4e2a\u8d1f\u53f7<\/p>\n<p>\uff0b \u5f53\u8f93\u51fa\u7684\u6570\u5b57\u5927\u4e8e\u96f6\uff0c\u52a0\u4e0a\u4e00\u4e2a\u6b63\u53f7<\/p>\n<p>\u5f53\u8f93\u51fa\u7684\u6570\u5b57\u5c0f\u4e8e\u96f6\uff0c\u52a0\u4e0a\u4e00\u4e2a\u8d1f\u53f7<\/p>\n<p>\uff04 \u6570\u503c\u51fa\u73b0\u4e00\u4e2a\u94b1\u5b57\u53f7<\/p>\n<p>( \u5f53\u8f93\u51fa\u7684\u6570\u5b57\u5c0f\u4e8e\u96f6\u65f6\uff0c\u52a0\u4e0a\u4e00\u4e2a\u5de6\u62ec\u53f7<\/p>\n<p>) \u5f53\u8f93\u51fa\u7684\u6570\u5b57\u5c0f\u4e8e\u96f6\u65f6\uff0c\u52a0\u4e0a\u4e00\u4e2a\u53f3\u62ec\u53f7<\/td>\n<\/tr>\n<tr>\n<td>USING \u65e5\u671f<\/td>\n<td>dd \u4ee5\u4e8c\u4f4d\u6570\u5b57\u8868\u793a\u65e5\u671f<\/p>\n<p>ddd \u4ee5\u4e09\u4f4d\u82f1\u6587\u7b80\u5199\u8868\u793a\u661f MON\uff0cTUE\u2026\u2026<\/p>\n<p>mm \u4ee5\u4e8c\u4f4d\u6570\u5b57\u8868\u793a\u6708\u4efd 01\uff0c02\u2026\u202612<\/p>\n<p>mmm \u4ee5\u4e09\u4f4d\u82f1\u6587\u7b80\u5199\u8868\u793a\u6708 JUN\uff0cFEB\u2026\u2026DEC<\/p>\n<p>yy \u4ee5\u4e8c\u4f4d\u6570\u5b57\u8868\u793a\u5e74\u5ea6 95<\/p>\n<p>yyyy \u4ee5\u56db\u4f4d\u6570\u5b57\u8868\u793a\u5e74\u5ea6 1995<\/p>\n<p>using \u2018yyyy\u2019<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li>\u7a0b\u5e8f\u6d41\u7a0b\u63a7\u5236<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td>CALL<\/td>\n<td>CALL <em>function <\/em>( [ <em>parameter <\/em>[,&#8230;] ] ) # \u547c\u53eb\u6267\u884c\u51fd\u5f0f<\/p>\n<p>[ RETURNING <em>variable <\/em>[,&#8230;] ] #\u8fd4\u56de\u6307\u5b9a\u53d8\u91cf\u7684\u503c<\/p>\n<p>\u52a8\u6001\u67e5\u8be2\u7684\u56de\u4f20\u503c\u5982\u679c\u6709\u591a\u7ec4\u5219\uff1a<\/p>\n<p>let g_qryparam.default1= g_azb.azb01<\/p>\n<p>let g_qryparam.default2= g_azb.azb02<\/p>\n<p>let g_qryparam.default1= g_azb.azb03<\/p>\n<p>returning g_azb.azb01 &lt;=&gt; returning g_qryparam.multiret<\/p>\n<p>let g_qryparam.multiret_index = 1<\/td>\n<\/tr>\n<tr>\n<td>RETURN<\/td>\n<td>RETURN [ <em>value <\/em>[,&#8230;] ] \u5728FUNCTION\u4e2d\u4f7f\u7528\uff0c\u7528\u4e8e\u8fd4\u56de\u4e00\u7ec4\u53d8\u91cf\u7684\u503c<\/td>\n<\/tr>\n<tr>\n<td>CASE<\/td>\n<td>\u8bed\u6cd5\u4e00\u3001<\/p>\n<p>CASE <em>expression-1<\/em><\/p>\n<p>WHEN <em>expression-2<\/em><\/p>\n<p>{ <em>statement <\/em>| EXIT CASE }<\/p>\n<p>[&#8230;]<\/p>\n<p>[ OTHERWISE<\/p>\n<p>{ <em>statement <\/em>| EXIT CASE }<\/p>\n<p>[&#8230;]<\/p>\n<p>]<\/p>\n<p>END CASE<\/p>\n<p>\u8bed\u6cd5\u4e8c\u3001<\/p>\n<p>CASE<\/p>\n<p>WHEN <em>boolean-expression #<\/em><\/p>\n<p>{ <em>statement <\/em>| EXIT CASE }<\/p>\n<p>[&#8230;]<\/p>\n<p>[ OTHERWISE<\/p>\n<p>{ <em>statement <\/em>| EXIT CASE }<\/p>\n<p>[&#8230;]<\/p>\n<p>]<\/p>\n<p>END CASE<\/td>\n<\/tr>\n<tr>\n<td>FOR<\/td>\n<td>FOR <em>counter <\/em>= <em>start <\/em>TO <em>finish <\/em>[ STEP <em>value <\/em>]<\/p>\n<p><em>statement<\/em><\/p>\n<p>[&#8230;]<\/p>\n<p>END FOR<\/td>\n<\/tr>\n<tr>\n<td>IF<\/td>\n<td>IF <em>condition <\/em>THEN<\/p>\n<p><em>statement<\/em><\/p>\n<p>[&#8230;]<\/p>\n<p>[ ELSE<\/p>\n<p><em>statement<\/em><\/p>\n<p>[&#8230;]]<\/p>\n<p>END IF<\/td>\n<\/tr>\n<tr>\n<td>SLEEP<\/td>\n<td>SLEEP <em>seconds #\u7a0b\u5e8f\u6682\u505c\u51e0\u79d2<\/em><\/td>\n<\/tr>\n<tr>\n<td>WHILE<\/td>\n<td>WHILE <em>b-expression #\u6761\u4ef6\u4e0d\u6210\u7acb\uff0c\u8df3\u51fa\u5faa\u73af<\/em><\/p>\n<p><em>statement<\/em><\/p>\n<p>[&#8230;]<\/p>\n<p>END WHILE<\/td>\n<\/tr>\n<tr>\n<td>CONTINUE<\/td>\n<td>CONTINUE { FOR | FOREACH | MENU | CONSTRUCT | INPUT |<\/p>\n<p>WHILE } #\u91cd\u65b0\u6267\u884c\u4e0a\u9762\u7684\u6307\u4ee4<\/td>\n<\/tr>\n<tr>\n<td>EXIT<\/td>\n<td>EXIT { CASE | FOR | MENU | CONSTRUCT | FOREACH | REPORT |<\/p>\n<p>DISPLAY | INPUT | WHILE } #\u79bb\u5f00\u4e0a\u9762\u7684\u7a0b\u5e8f\u7ed3\u6784<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li>WINDOWS\u4e0eFORM<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td>OPEN OPEN WINDOW<\/td>\n<td>OPEN WINDOW identifier [AT line, column ]<\/p>\n<p>WITH [ FORM form-file | height ROWS, width COLUMNS ]<\/p>\n<p>#Form_file \u4e3a\u7f16\u8bd1\u8fc7\u4ea7\u751f\u7684\u6587\u4ef6\uff0c*.42f(\u6269\u5c55\u540d\u53ef\u4e0d\u5199)<\/p>\n<p>[ ATTRIBUTES ( window-attributes ) ]<\/td>\n<\/tr>\n<tr>\n<td>CLEAR<\/td>\n<td>CLEAR field-list #\u6e05\u9664\u6307\u5b9a\u5b57\u6bb5\u53d8\u91cf\u7684\u5185\u5bb9<\/p>\n<h4>CLEAR FORM #\u6e05\u9664\u6307\u5b9a\u8868\u5355\u6240\u6709\u53d8\u91cf\u7684\u5185\u5bb9<\/h4>\n<\/td>\n<\/tr>\n<tr>\n<td>CLOSE WINDOW<\/td>\n<td>CLOSE WINDOW WindowName #\u5173\u95ed\u7a97\u53e3<\/td>\n<\/tr>\n<tr>\n<td>CURRENT WINDOW<\/td>\n<td>CURRENT WINDOW IS <em>identifier #\u6307\u5b9a\u5f53\u524d\u7684\u6d3b\u52a8\u7a97\u53e3\u540d\uff1aidentifier<\/em><\/td>\n<\/tr>\n<tr>\n<td>OPEN FORM<\/td>\n<td>OPEN FORM form-name FROM \u201cfile-name\u201d form_name\u662f\u7a0b\u5e8f\u4e2d\u5b9a\u4e49\u7684\u753b\u9762\u540d\u79f0\uff0cFILE-NAME\u662f\u7f16\u8bd1\u4ea7\u751f\u7684\u8868\u5355\u6587\u4ef6\u540d<\/td>\n<\/tr>\n<tr>\n<td>DISPLAY FORM<\/td>\n<td>DISPLAY FORM form-name #\u8981\u73b0\u6709OPEN\uff0c\u624d\u80fd\u6709DISPLAY<\/td>\n<\/tr>\n<tr>\n<td>CLOSE FORM<\/td>\n<td>CLOSE FORM form-name #\u91ca\u653e\u8d44\u6e90<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li>\u83dc\u5355\u529f\u80fd<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td>OPEN MENU<\/td>\n<td>MENU [<em>title<\/em>]<\/p>\n<p>ATTRIBUTE ( <em>control-attributes <\/em>)<\/p>\n<p>BEFORE MENU #\u4ee5\u4e0b\u4e3a\u83dc\u5355\u8f7d\u5165\u524d\u7684\u8bbe\u7f6e<\/p>\n<p>COMMAND <em>option <\/em>[<em>comment<\/em>] #MENU\u529f\u80fd\u540d\u79f0\u53ca\u5feb\u6377\u952e\u5b9a\u4e49\u5e76\u663e\u793a<\/p>\n<p>[ HELP <em>help-number <\/em>]<\/p>\n<p>COMMAND KEY ( <em>key-name <\/em>) #MENU\u529f\u80fd\u5feb\u6377\u952e\u5e76\u4e0d\u663e\u793a\u5728\u83dc\u5355<\/p>\n<p><em>option <\/em>[<em>comment<\/em>]<\/p>\n<p>[ HELP <em>help-number <\/em>]<\/p>\n<p>COMMAND KEY ( <em>key-name <\/em>)<\/p>\n<p>ON ACTION <em>action-name #\u6267\u884c\u6307\u4ee4<\/em><\/p>\n<p>ON IDLE <em>idle-seconds #\u7a7a\u95f2\u65f6\u95f4<\/em><\/p>\n<p>END MENU<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li>INPUT\u548cDISPLAY<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td>OPEN INPUT \u8bed\u6cd5<\/td>\n<td>\u8bed\u6cd5\u4e00\u3001 \u5b57\u9876\u540d\u79f0\u548c\u53d8\u91cf\u540d\u79f0\u53ef\u4ee5\u4e0d\u540c<\/p>\n<p><strong>INPUT <\/strong>{ <em>variable <\/em>| <em>record.* <\/em>} [,&#8230;]<\/p>\n<p>[ WITHOUT DEFAULTS ]<\/p>\n<p><strong>FROM <\/strong><em>field-list<\/em><\/p>\n<p>\u8bed\u6cd5\u4e8c\u3001<\/p>\n<p><strong>INPUT BY NAME <\/strong>{ <em>variable <\/em>| <em>record.* <\/em>} [,&#8230;]<\/p>\n<p>[ WITHOUT DEFAULTS ]<\/p>\n<p>#\u9ed8\u8ba4\u5b57\u6bb5\u663e\u793a\u503c\u5747\u4e3a\u7a7a\uff0c\u8981\u663e\u793a\u539f\u503c\u5fc5\u987b\u52a0\u8fd9\u4e0a\u9762\u8fd9\u884c\u547d\u4ee4<\/p>\n<p>INPUT BY NAME p_employee.no #\u53d8\u91cf\u540d\u79f0\u548c\u5b57\u6bb5\u540d\u79f0\u5fc5\u987b\u76f8\u540c<\/td>\n<\/tr>\n<tr>\n<td>INPUT \u7ed3\u6784<\/td>\n<td>INPUT <em>variable-list <\/em>FROM <em>field-list<\/em><\/p>\n<p>BEFORE INPUT #\u8f93\u5165\u524d<\/p>\n<p>AFTER INPUT #\u5b8c\u6210\u6240\u6709\u8f93\u5165\u65f6<\/p>\n<p>BEFORE FIELD <em>field-list #\u8fdb\u5165\u67d0\u680f\u4f4d\u8f93\u5165\u524d<\/em><\/p>\n<p>AFTER FIELD <em>field-list #\u5b8c\u6210\u67d0\u680f\u4f4d\u8f93\u5165\u65f6<\/em><\/p>\n<p>ON CHANGE <em>field-list #\u5b57\u6bb5\u503c\u5728\u4fee\u6539\u65f6<\/em><\/p>\n<p>ON IDLE <em>idle-seconds #\u8f93\u5165\u7a7a\u95f2\u591a\u5c11\u65f6\u95f4\u65f6<\/em><\/p>\n<p>ON ACTION <em>action-name #\u8bbe\u7f6e\u7279\u5b9a\u529f\u80fd<\/em><\/p>\n<p><strong>NEXT FIELD <em>field_name #\u5c06\u6e38\u6807\u79fb\u5230\u4e0b\u4e00\u5b57\u6bb5\u4e0a<\/em><\/strong><\/p>\n<p><strong>EXIT INPUT #\u8df3\u51faINPUT \u7684\u53d9\u8ff0<\/strong><\/p>\n<p>END INPUT<\/td>\n<\/tr>\n<tr>\n<td>DISPLAY \u8bed\u6cd5<\/td>\n<td>\u8bed\u6cd51\uff1a #\u53d8\u91cf\u540d\u53ea\u8981\u5bf9\u5e94PER\u6863\u91cc\u5b9a\u4e49\u7684\u540d\u79f0\u5373\u53ef<\/p>\n<p><strong>DISPLAY <\/strong><em>expression <\/em>[,&#8230;] <strong>TO <\/strong><em>field-list <\/em>[,&#8230;]<\/p>\n<p>[ ATTRIBUTES ( <em>display-attribute <\/em>[,&#8230;] ) ]<\/p>\n<p>\u8bed\u6cd52\uff1a #\u53d8\u91cf\u540d\u8981\u4e0e\u771f\u5b9e\u7684\u5b57\u6bb5\u76f8\u540c<\/p>\n<p><strong>DISPLAY BY NAME <\/strong>{ <em>variable <\/em>| <em>record.* <\/em>} [,&#8230;]<\/p>\n<p>[ ATTRIBUTES ( <em>display-attribute <\/em>,&#8230;) ] ]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li>\u6e38\u6807<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td>Scrolling Cursor<\/td>\n<td>\u901a\u5e38\u8fd0\u7528\u5728\u67e5\u8be2\u7a0b\u5e8f\uff0c\u53ef\u4ee5\u968f\u673a\u6293\u53d6\u6570\u636e\u3002<\/p>\n<p><strong>EX<\/strong>:1. DECLARE <em>cursor_name <\/em>SCROLL CURSOR<\/p>\n<p>FOR <em>sql statement<\/em><\/p>\n<p>2. DECLARE <em>cursor_name <\/em>SCROLL CURSOR WITH HOLD<\/p>\n<p>FOR <em>sql statement<\/em><\/td>\n<\/tr>\n<tr>\n<td>Non-scrolling Cursor<\/td>\n<td>\u901a\u5e38\u8fd0\u7528\u5728\u62a5\u8868\u7a0b\u5e8f\uff0c\u6293\u53d6\u6570\u636e\u7684\u65b9\u5f0f\u662f\u4f9d\u5e8f<strong>(seguential)<\/strong>\u7684\u65b9\u5f0f\u3002<\/p>\n<p><strong>EX <\/strong>: DECLARE <em>cursor_name <\/em>CURSOR<\/p>\n<p>FOR sql statement<\/td>\n<\/tr>\n<tr>\n<td>Locking Cursor<\/td>\n<td>\u901a\u5e38\u8fd0\u7528\u5728<strong>Update <\/strong>\u7a0b\u5e8f\uff0c\u505a\u6570\u636e<strong>Lock <\/strong>\u7684\u52a8\u4f5c\u3002<\/p>\n<p><strong>EX<\/strong>: DECLARE <em>cursor_name <\/em>CURSOR<\/p>\n<p>FOR <em>sql statement<\/em><\/p>\n<p>FOR UPDATE<\/td>\n<\/tr>\n<tr>\n<td>CONSTRUCT<\/p>\n<p>\u4ed6\u53ef\u4ee5<\/p>\n<p>\u8ba9\u4f7f\u7528\u8005\u5728\u753b\u9762\u4e0a\u4e0b\u67e5\u8be2\u8d44\u6599\u7684\u6761\u4ef6(\u4e5f\u5c31\u662f\u505aQBE \u7684\u52a8\u4f5c)\uff0c<\/td>\n<td>\u8bed\u6cd51\uff1a<\/p>\n<p>CONSTRUCT BY NAME <em>char_variable <\/em>ON <em>column_list<\/em><\/p>\n<p>\u8bed\u6cd52\uff1a<\/p>\n<p>CONSTRUCT <em>char_variable <\/em>ON <em>column_list <\/em>FROM <em>field_list<\/em><\/p>\n<p>\u8bf4\u660e\uff1achar_variable \u4e3a \u7a0b\u5e8f\u53d8\u91cf(\u901a\u5e38\u5b9a\u4e49\u6210\u5b57\u7b26\u4e32\u53d8\u91cf)<\/p>\n<p>column_list \u4e3a table \u4e2d\u7684\u5b57\u6bb5<\/p>\n<p>field_list \u4e3a SCREEN \u4e0a\u7684\u5b57\u6bb5\u3002<\/td>\n<\/tr>\n<tr>\n<td>PREPARE<\/td>\n<td>\u5c06\u6b64\u6bb5\u7a0b\u5e8f\u8f6c\u6210\u53ef\u6267\u884c\u7684\u53d9\u8ff0<\/p>\n<p>PREPARE <em>statement-name <\/em>FROM <em>char_variable<\/em><\/p>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>statement-name \u662fPREPARE \u7684\u4e00\u4e2a\u53d8\u91cf\uff0c\u4e8b\u5148\u4e0d\u7528\u5b9a\u4e49\u3002<\/p>\n<p><em>char_variable\u662f\u7ec4\u5408\u7684SELECT\u53d9\u8ff0<\/em><\/p>\n<p>\u5728\u505aPREPARE \u53d9\u8ff0\u4e4b\u524d\u5fc5\u987b\u5148\u7ec4\u597dSELECT \u7684\u53d9\u8ff0\u3002<\/td>\n<\/tr>\n<tr>\n<td>OPEN<\/td>\n<td>OPEN <em>cursor_name <\/em><\/td>\n<\/tr>\n<tr>\n<td>CLOSE<\/td>\n<td>CLOSE <em>cursor_name<\/em><\/td>\n<\/tr>\n<tr>\n<td>FETCH<\/td>\n<td>FETCH\u8bed\u6cd5\uff1a\u5fc5\u987b\u5148OPEN CURSOR \uff0c\u6700\u540e\u5fc5\u987bCLOSE CURSOR<\/p>\n<p>FETCH\u53ef\u4ee5\u4e0eWHILE\u4e00\u8d77\u7528\uff0c<\/p>\n<p>FETCH <em>cursor_name <\/em>INTO <em>program_variable<\/em><\/td>\n<\/tr>\n<tr>\n<td>FOREACH<\/td>\n<td><strong>FOREACH <\/strong>\u8bed\u6cd5\uff1a(\u53ea\u80fd\u7528\u4e8e non_scrolling cursor)\u53ea\u80fd\u7528\u4e8e\u5faa\u73af\uff0c\u81ea\u52a8\u5f00\u542f\u548c\u5173\u95edCURSOR<\/p>\n<p>FOREACH emp_cs INTO p_employee.*<\/p>\n<h6>Statement<\/h6>\n<p>[CONTINUE FOREACH]<\/p>\n<p>\u2026\u2026<\/p>\n<p>[EXIT FOREACH]<\/p>\n<p>\u2026\u2026<\/p>\n<p>END FOREACH<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li>\u6570\u7ec4<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td>OPEs \u6570\u7ec4\u7684\u5b9a\u4e49<\/td>\n<td>\u56fa\u5b9a\u6570\u7ec4\uff08<strong>Static Array<\/strong>\uff09\u5b9a\u4e49<\/p>\n<p>ARRAY [ <em>intconst <\/em>[<em>,intconst <\/em>[<em>,intconst<\/em>] ] ] OF <em>datatype<\/em><\/p>\n<p>\u52a8\u6001\u6570\u7ec4\uff08<strong>Dynamic Array<\/strong>\uff09\u5b9a\u4e49<\/p>\n<p>DYNAMIC ARRAY [ WITH DIMENSION <em>rank <\/em>] OF <em>datatype<\/em><\/td>\n<\/tr>\n<tr>\n<td>\u6570\u7ec4\u7684 \u6570\u7ec4\u7684\u4e8b\u4ef6<\/td>\n<td>getLength( ) RETURNING INTEGER\uff1a \u56de\u4f20\u5355\u5c42\u6570\u7ec4\u7684\u957f\u5ea6<\/p>\n<p>clear\uff1a \u5c06\u52a8\u6001\u6570\u7ec4\uff08Dynamic Array\uff09\u4e2d\uff0c\u6240\u6709\u8bb0\u5f55\u79fb\u9664\u3002<\/p>\n<p>\u5c06\u56fa\u5b9a\u6570\u7ec4\uff08Static Array\uff09\u4e2d\uff0c\u6240\u6709\u7eaa\u5f55\u503c\u6e05\u4e3aNULL\u3002<\/p>\n<p>appendElement()\uff1a<\/p>\n<p>\u5728\u52a8\u6001\u6570\u7ec4\uff08Dynamic Array\uff09\u540e\u9762\u52a0\u4e0a\u4e00\u7b14\u65b0\u7684\u8bb0\u5f55\u3002<\/p>\n<p>\u8fd9\u4e2a\u5bf9\u8c61\u5728\u56fa\u5b9a\u6570\u7ec4\uff08Static Array\uff09\u4e2d\u65e0\u6548\u3002<\/p>\n<p>insertElement( INTEGER ) \uff1a<\/p>\n<p>\u5728\u6307\u5b9a\u4f4d\u7f6e\u65b0\u589e\u8bb0\u5f55\uff0c\u5e76\u5c06\u6307\u5b9a\u4f4d\u7f6e\u540e\u4e4b\u6570\u636e\u5f80\u4e0b\u79fb\u3002<\/p>\n<p>\u52a8\u6001\u6570\u7ec4\uff08Dynamic Array\uff09\u7684\u7b14\u6570\u52a01\u3002<\/p>\n<p>deleteElement( INTEGER )\uff1a<\/p>\n<p>\u79fb\u9664\u6307\u5b9a\u4f4d\u7f6e\u8bb0\u5f55\uff0c\u5e76\u5c06\u6307\u5b9a\u4f4d\u7f6e\u540e\u4e4b\u6570\u636e\u5f80\u4e0a\u79fb\u3002<\/p>\n<p>\u52a8\u6001\u6570\u7ec4\uff08Dynamic Array\uff09\u7684\u7b14\u6570\u51cf1\u3002<\/td>\n<\/tr>\n<tr>\n<td>D DD DISPLAY ARRAY<\/td>\n<td>\u76ee\u7684\uff1a\u5c06\u7a0b\u5e8f\u6570\u7ec4\u7684\u503c\u663e\u793a\u5728\u753b\u9762\u4e0a<\/p>\n<p>\u8bed\u6cd5\uff1a<\/p>\n<p>DISPLAY ARRAY <em>record-array <\/em>TO <em>screen-array.*<\/em><\/td>\n<\/tr>\n<tr>\n<td>INPUT ARRAY<\/td>\n<td>\u76ee\u7684\uff1aInput Array \u53ef\u4ee5\u8ba9\u4f7f\u7528\u8005\u900f\u8fc7Screen Record \u8f93\u5165\u8d44\u6599<\/p>\n<p>\u8bed\u6cd5\uff1a<\/p>\n<p>INPUT ARRAY <em>array <\/em>[ WITHOUT DEFAULTS ] FROM <em>screen-array<\/em>.*<\/p>\n<p>[ HELP <em>help-number <\/em>]<\/p>\n<p>[ ATTRIBUTE ( {<em>display-attribute <\/em>| <em>control-attribute <\/em>}<\/p>\n<p>[,&#8230;] ) ]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ol>\n<li>\u62a5\u8868\u4e0e\u9664\u9519\u6307\u4ee4\n<ol>\n<li>\u62a5\u8868\u547d\u4ee4<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<table>\n<tbody>\n<tr>\n<td>OPEs START REPORT<\/td>\n<td>\u8bed\u6cd5:<\/p>\n<p>START REPORT <em>rep_name <\/em>[TO { SCREEN |FILE <em>filename <\/em>| PRINTER } ]<\/p>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>(1)\u8fd9\u4e2a\u6307\u4ee4\u662f\u5728\u9a71\u52a8REPORT DRIVER\u3002<\/p>\n<p>(2)TO SCREEN\uff1a\u4e3a\u7cfb\u7edfDEFAULT \u53ef\u4e0d\u5199\u3002<\/p>\n<p>(3)TO FILE filenme\uff1a\u5c06REPORT \u7684\u7ed3\u679c\u9001\u5230\u4e00\u4e2a\u6863\u6848\u4e2d(\u8fd9\u4e2a\u6587\u4ef6\u540d\u7531\u7a0b\u5e8f\u4eba\u5458\u81ea\u8ba2)\u3002<\/p>\n<p>(4)TO PRINTER\uff1a\u5c06REPORT \u7ed3\u679c\u9001\u5230\u6253\u5370\u673a(\u7cfb\u7edf\u6253\u5370\u673a)\u3002<\/p>\n<p>(5)\u82e5(2)\u3001(3)\u90fd\u4e0d\u5199\uff0c\u5219\u7cfb\u7edf\u4f1a\u5c06\u7ed3\u679c\u81ea\u52a8\u9001\u5230\u5c4f\u5e55\u3002<\/td>\n<\/tr>\n<tr>\n<td>OUTPUT TO REPORT<\/td>\n<td>\u8bed\u6cd5\uff1a<\/p>\n<p>OUTPUT TO REPORT <em>rep_name<\/em>(<em>expr_list<\/em>)<\/p>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>(1)\u8be5\u529f\u80fd\u7c7b\u4f3cCALL function \u65f6\uff0c\u5e76\u4e14\u987a\u4fbf\u4f20\u9012\u53c2\u6570\uff0c\u5c06\u6570\u636e\u9001\u5230REPORT FUNCTION \u4e2d\u3002<\/td>\n<\/tr>\n<tr>\n<td>FINISH REPORT<\/td>\n<td>\u8bed\u6cd5\uff1a<\/p>\n<p>FINISH REPORT rep_name<\/p>\n<p>\u8bf4\u660e\uff1a<\/p>\n<p>(1)\u8fd9\u4e2a\u6307\u4ee4\u662f\u7ed3\u675f\u62a5\u8868\u7684\u6307\u4ee4\u3002<\/td>\n<\/tr>\n<tr>\n<td><strong>REPORT FUNCTION<\/strong><\/td>\n<td>REPORT <em>report_name<\/em>(<em>expr_list<\/em>)<\/p>\n<p>[DEFINE <em>define_statement<\/em>]<\/p>\n<p>[OUTPUT <em>output_statement<\/em>] #\u5b9a\u4e49\u62a5\u8868\u7684\u8fb9\u754c\u53ca\u957f\u5ea6<\/p>\n<p>[ORDER BY <em>sort_list<\/em>]<\/p>\n<p>FORMAT<\/p>\n<p><em>control_block<\/em><\/p>\n<p><em>statement<\/em><\/p>\n<p>:<\/p>\n<p>END REPORT<\/td>\n<\/tr>\n<tr>\n<td>ORDER BY<\/td>\n<td>\u8bed\u6cd5:<\/p>\n<p>ORDER [ EXTERNAL\uff08external\u5916\u90e8\u7684\uff09 ] BY <em>variable-list<\/em><\/p>\n<p>\u8bf4\u660e:<\/p>\n<p>(1)ORDER BY \u533a\u95f4\uff0c\u4e3b\u8981\u662f\u4f5c\u6392\u5e8f\u5b57\u6bb5\u7528\uff0c\u4ee5\u9017\u53f7\u5206\u5f00\uff0c\u6446\u5728\u6700\u524d\u9762\u7684\u5b57\u6bb5\u4e3a\u4e3b\u952e\uff0c\u540c\u65f6\u53ea\u80fd\u7528\u6240\u63a5\u6536\u7684\u53c2\u6570\u5185\u7684\u5b57\u6bb5\u6765\u6392\u5e8f\u3002<\/p>\n<p>(2)ORDER BY \u4f1a\u5148\u5c06\u6570\u636e\u6392\u5e8f\u8fc7\u5e76\u5b58\u5728\u6682\u5b58\u76d8\u4e2d\uff0c\u914d\u5408BEFORE<\/p>\n<p>GROUP OF \u6216 AFTER GROUP OF \u533a\u6bb5\u6392\u5e8f\u540e\u518d\u7531\u6682\u5b58\u6863\u5370\u51fa\u3002<\/p>\n<p>(3)ORDER EXTERNAL BY \u8868\u662f\u8f93\u5165\u6570\u636e\u6392\u5e8f\u8fc7\u540e\u4e0d\u5b58\u5728\u6682\u5b58\u76d8\u4e2d\u3002<\/td>\n<\/tr>\n<tr>\n<td>FORMAT \u90e8\u5206<\/td>\n<td><strong>FIRST PAGE HEADER <\/strong>\uff1a\u62a5\u8868\u7b2c\u4e00\u9875\u7684\u8868\u5934\u63a7\u5236\u6bb5\u3002<\/p>\n<p><strong>PAGE HEADER <\/strong>\uff1a\u62a5\u8868\u6bcf\u4e00\u9875\u7684\u8868\u5934\u63a7\u5236\u6bb5\u3002<\/p>\n<p><strong>BEFORE GROUP OF <\/strong>\uff1a\u5728\u63a7\u5236\u533a\u6bb5\u8bbe\u5b9a\u5728\u4e00\u7ec4\u6570\u636e\u7684\u5f00\u59cb\u4e4b\u524d\u6240\u5fc5\u987b\u6267\u884c<\/p>\n<p>\u7684\u53d9\u8ff0\u3002<\/p>\n<p><strong>ON EVERY ROW <\/strong>\uff1a\u6307\u5b9a\u6bcf\u4e00\u7b14\u8bb0\u5f55\u7684\u8f93\u51fa\u683c\u5f0f\u3002<\/p>\n<p><strong>AFTER GROUP OF <\/strong>\uff1a\u5728\u63a7\u5236\u533a\u6bb5\u8bbe\u5b9a\u4e00\u7ec4\u6570\u636e\u4e4b\u540e\u5fc5\u987b\u6267\u884c\u7684\u53d9\u8ff0\u3002<\/p>\n<p><strong>PAGE TRAILER<\/strong>\uff08trailer\uff09 \uff1a\u6bcf\u4e00\u9875\u62a5\u5c3e\u7684\u63a7\u5236\u6bb5\u3002<\/p>\n<p><strong>ON LAST ROW <\/strong>\uff1a\u6240\u6709\u6570\u636e\u5370\u5b8c\u540e\u8981\u505a\u7684\u52a8\u4f5c\uff0c\u4f8b\u5982\u201d\u603b\u8ba1\u201d\u3002<\/td>\n<\/tr>\n<tr>\n<td>FORMAT \u6307\u4ee4<\/td>\n<td>1.PRINT \u5c06\u8baf\u606f\u6216\u6570\u636e\u5370\u51fa\u6765\u3002<\/p>\n<p>ex\uff1aPRINT \u201c\u5458\u5de5\u7f16\u53f7\uff1a\u201d, employee_no<\/p>\n<p>2.SKIP \u6253\u5370\u65f6\u8981\u8df3\u51e0\u884c\u6216\u51e0\u9875\u3002<\/p>\n<p>ex\uff1aSKIP 2 LINES ?\u8df3\u4e24\u884c<\/p>\n<p>SKIP TO TOP OF PAGE?\u8df3\u9875<\/p>\n<p>3.NEED<\/p>\n<p>\u8bed\u6cd5: NEED <em>integer_value <\/em>LINES<\/p>\n<p>\u5728\u6253\u5370\u524d\uff0c\u5148\u786e\u5b9a\u662f\u5426\u6709\u8db3\u591f\u7684\u5269\u4f59\u884c\u6570\uff0c\u53ef\u4f9b\u63a5\u4e0b\u6765\u6253\u5370\uff0c\u5982\u679c\u4e0d\u591f\u5c06\u5148\u8df3\u9875\u540e\uff0c\u518d\u7ee7\u7eed\u5f80\u4e0b\u5370\u3002<\/td>\n<\/tr>\n<tr>\n<td>\u6253\u5370\u65f6\u53ef\u7528\u7684\u8868\u8fbe\u5f0f<\/td>\n<td>1.CLIPPED \u5c06\u5b57\u7b26\u4e32\u540e\u9762\u7684\u7a7a\u767d\u6e05\u6389\u3002<\/p>\n<p>2.USING \u9488\u5bf9\u6570\u503c\u5b9a\u5176\u6253\u5370\u7684\u683c\u5f0f\u3002<\/p>\n<p>3.COLUMN \u6307\u5b9a\u8f93\u51fa\u7684\u884c\u4f4d\u7f6e\u3002<\/p>\n<p>4.LINENO \u53d6\u5f97\u76ee\u524d\u6253\u5370\u884c\u7684\u5217\u53f7\u503c\u3002<\/p>\n<p>5.PAGENO \u53d6\u5f97\u76ee\u524d\u7684\u9875\u6570\u3002<\/p>\n<p>6.SPACES \u4f20\u56de\u7a7a\u767d\u3002<\/p>\n<p>7.TIME \u4f20\u56de\u7cfb\u7edf\u65f6\u95f4\uff0c\u683c\u5f0f:\u201dhh:mm:ss\u201d<\/p>\n<p>8.TODAY \u4f20\u56de\u7cfb\u7edf\u4eca\u5929\u7684\u65e5\u671f\u3002<\/p>\n<p>9.LENGTH(<em>expr<\/em>) expr \u4e3a\u4e00\u5b57\u7b26\u4e32\u53d8\u91cf\uff0c\u5176\u4f1a\u4f20\u56deexpr \u7684\u957f\u5ea6\u3002<\/td>\n<\/tr>\n<tr>\n<td>\u7fa4\u7ec4\u51fd\u6570<\/td>\n<td>GROUP SUM(<em>expression<\/em>) :GROUP \u533a\u5757\u4e2d\uff0c\u6570\u503c\u7684\u52a0\u603b\u3002<\/p>\n<p>GROUP COUNT(*) :GROUP \u533a\u5757\u4e2d\uff0c\u8d44\u6599\u7684\u603b\u6570\u3002<\/p>\n<p>GROUP MIN(<em>expression<\/em>) :GROUP \u533a\u5757\u4e2d\uff0c\u53d6\u5f97\u6570\u503c\u7684\u6700\u5c0f\u503c\u3002<\/p>\n<p>GROUP MAX(<em>expression<\/em>) :GROUP \u533a\u5757\u4e2d\uff0c\u53d6\u5f97\u6570\u503c\u7684\u6700\u5927\u503c\u3002<\/p>\n<p>GROUP AVG(<em>expression<\/em>) :GROUP \u533a\u5757\u4e2d\uff0c\u53d6\u5f97\u6570\u503c\u7684\u5e73\u5747\u503c\u3002<\/p>\n<p>GROUP PERCENT(*) :GROUP \u533a\u5757\u4e2d\uff0c\u8d44\u6599\u7684\u767e\u5206\u6bd4\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\n<ol>\n<li>DEBUGGER\u7684\u4f7f\u7528<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td>OPEs \u7a0b\u5e8f\u7684\u6267\u884c<\/td>\n<td>\u4e00\u822c\u6267\u884c\u7a0b\u5e8f\u7684\u547d\u4ee4\u4e3a fglrun \u7a0b\u5e8f\u540d\u79f0<\/p>\n<p>\u4ee5\u9664\u9519\u6a21\u5f0f\u6267\u884c\u7a0b\u5e8f\u7684\u547d\u4ee4\u4e3a fglrun -d \u7a0b\u5e8f\u540d\u79f0<\/td>\n<\/tr>\n<tr>\n<td>\u9664\u9519\u6a21\u5f0f\u7684\u5e38\u7528\u6307\u4ee4<\/td>\n<td>break \u8bbe\u5b9a\u65ad\u70b9 break test01_a b<\/p>\n<p>run \u6267\u884c\u7a0b\u5e8f run ru<\/p>\n<p>step \u9010\u6b65\u6267\u884c\u7a0b\u5e8f step 10 s<\/p>\n<p>continue \u6267\u884c\u5230\u4e0b\u4e00\u4e2a\u65ad\u70b9 continue co<\/p>\n<p>list \u5217\u51fa\u7a0b\u5e8f\u4ee3\u7801line list l<\/p>\n<p>print \u663e\u793a\u53d8\u91cf\u503c print g_sql p<\/p>\n<p>quit \u7ed3\u675fDebugger \u73af\u5883 quit q<\/p>\n<p>delete \u5220\u9664\u65ad\u70b9 delete 1 d<\/p>\n<p>help \u67e5\u770b\u6307\u4ee4\u5185\u5bb9 help list h<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.hefeiyu.com\">\u8d6b\u975e\u57df<\/a> &raquo; <a href=\"https:\/\/www.hefeiyu.com\/?p=1332\">genero\u8bed\u6cd5\u603b\u7ed3<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u6587\u4ef6\u7ec4\u6210\u7ed3\u6784 \u547d\u540d\u89c4\u5219 Program \u7684\u7ec4\u6210\uff1a \u57fa\u7840\u8bed\u6cd5 \u62a5\u8868\u4e0e\u9664\u9519\u6307\u4ee4 \u6587\u4ef6\u7ec4\u6210\u7ed3\u6784 \u539f\u59cb\u7a0b\u5e8f \u7f16\u8bd1\u540e\u7684\u7a0b\u5e8f \u53ef\u6267\u884c\u7a0b\u5e8f MODULE \u7a0b\u5e8f\u6587\u4ef6 *.4gl *.42m *.42r FORM\u6587\u4ef6 *.per *.42f \u5176\u4ed6\u683c\u5f0f *.sch \u547d\u540d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[470,472,471],"class_list":["post-1332","post","type-post","status-publish","format-standard","hentry","category-4gl","tag-genero","tag-472","tag-471"],"_links":{"self":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/1332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1332"}],"version-history":[{"count":1,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/1332\/revisions"}],"predecessor-version":[{"id":1334,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=\/wp\/v2\/posts\/1332\/revisions\/1334"}],"wp:attachment":[{"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hefeiyu.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}