ug_ch11.htm

来自「db.* (pronounced dee-be star) is an adva」· HTM 代码 · 共 693 行 · 第 1/2 页

HTM
693
字号
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta name="generator" content="HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org"><meta http-equiv="content-type" content="text/html; charset=us-ascii"><meta name="Generator" content="Microsoft Word 97"><title>db.* User's Guide Chapter 11</title></head><body><h1><font face="Palatino"><a name="dal" id="dal"></a>Chapter 11<br>Database Access Language (dal)</font></h1><h2><a name="Introduction" id="Introduction"></a>11.1Introduction</h2><p><font size="2">The Database Access Language (<b>dal</b>) isintended as a tool for interactive or batch manipulation of a<b><i>db.*</i></b> database.</font></p><p>With <b>dal</b> you can execute a subset of the<b><i>db.*</i></b> runtime functions, either interactively at yourterminal, or in batch mode from a batch file. <b>dal</b> commandsare the <b><i>db.*</i></b> runtime functions (without the <b>d_</b>prefix), plus a few additional commands. <b>dal</b> is aninterpretive language using variables that are defined as records,fields, database addresses, or integers. The <b><i>db.*</i></b>functions are accessed by issuing statements very similar to the Cfunction calling conventions (with some exceptions, as notedbelow).</p><h2><a name="Using" id="Using"></a>11.2 Using dal</h2><p><font size="2">You can execute <b>dal</b> in one of twoways.</font></p><p>1) Execute interactively. First, type in the followingcommand:</p><pre><font color="#0000FF">dal</font></pre><p><font size="2">Then at the <b>d_</b> prompt, begin typing<b>dal</b> commands.</font></p><p>2) Execute <b>dal</b> in batch mode.<br>Write <b>dal</b> commands in a file (procfile), and use thefilename as a parameter<br>to the following dal command:</p><pre><font color="#0000FF">dal<u> </u>procfile</font></pre><p><font size="2">Each supported <b><i>db.*</i></b> function can becalled through <b>dal</b> by issuing a C-like command (without the<b>d_</b> ):</font></p><pre><font color="#0000FF">open("mydb","o");</font></pre><h2><a name="Syntax" id="Syntax"></a>11.3 General dal Syntax</h2><p><font size="2">Commands can be entered into <b>dal</b> using arelatively free format. All <b>dal</b> commands terminate with asemicolon. If you fail to type the semicolon, you may still be ableto type it on the next line, as <b>dal</b> usually will not processthe command until it sees the semicolon. <b>dal</b> recognizesC-style comments (/* this is a comment */). In addition, anycharacters on a line after a pound sign (<b>#</b>) are ignored. Youmay place more than one command per line, as long as each isterminated with the semicolon. String constants are enclosed indouble quotes. Escape sequences are not supported withinstrings.</font></p><h2><a name="Differences" id="Differences"></a>11.4 Differencesbetween dal and C Conventions</h2><p><font size="2">The syntax of <b>dal</b> is somewhat differentfrom the standard C calling convention. You need to be aware ofthese differences to avoid confusion, especially if you are using<b><i>db.*</i></b> for the first time, and using <b>dal</b> tolearn <b><i>db.*</i></b>. The differences are explainedbelow.</font></p><p>1. Where the C calling conventions dictate a pointer argument,<b>dal</b> does not. Look at the following example of a<b><i>db.*</i></b> C function call.</p><pre><font color="#0000FF">d_fillnew(person, &amp;per);</font></pre><p><font size="2">The input to <b>dal</b> would appear asfollows:</font></p><pre><font color="#0000FF">fillnew(person, per);   /* No &amp; before per */</font></pre><p><font size="2">2. <b>dal</b> supports character array constants,but not numeric constants. If you need to pass a numeric value to a<b><i>db.*</i></b> function, you must first assign the value to avariable, and then pass the variable to the functioncall.</font></p><p>3. Where a database constant is passed to a <b><i>db.*</i></b>function, you may use lowercase letters (for example, <b>person</b>instead of <b>PERSON</b>).</p><h2><a name="Functions" id="Functions"></a>11.5 Supported<i>db.*</i> Functions</h2><p><font size="2">The following <b><i>db.*</i></b> functions arerecognized by <b>dal</b>. No database number is allowed in theparameters lists, because <b>dal</b> must operate on one databaseat a time.</font></p><p align="center">&nbsp;</p><p align="center"><b>Table 11-1. <i>db.*</i> Functions Recognizedby dal</b></p><table border="1" cellspacing="1" cellpadding="7" width="480"><tr><td width="28%" valign="top"><p><b><font size="2">d_close</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_dbuserid</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_keylock</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_rlbset</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_cmtype</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_delete</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_keynext</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_rlbtst</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_connect</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_destroy</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_keyprev</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setfiles</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_cotype</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_discon</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_keyread</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setfree</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_crget</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_disdel</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_keystore</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setkey</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_crread</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_fillnew</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_lock</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setlock</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_crset</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_findco</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_makenew</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setmm</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_crtype</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_findfm</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_members</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setmo</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_crwrite</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_findlm</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_off_opt</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setmr</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csmget</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_findnm</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_on_opt</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setom</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csmread</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_findpm</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_rdcurr</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setoo</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csmset</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_freeall</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_recfree</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setor</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csmwrite</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_initfile</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_recfrst</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setpages</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csoget</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_initializ</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_reclast</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setrm</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csoread</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_ismember</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_reclock</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_setro</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csoset</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_isowner</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_recnext</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_timeout</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_csowrite</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_keydel</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_recprev</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_trabort</font></b></p></td></tr><tr><td width="28%" valign="top"><p><b><font size="2">d_ctbpath</font></b></p></td><td width="24%" valign="top"><p><b><font size="2">d_keyexist</font></b></p></td><td width="24%" valign="top">

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?