CREATE BUFFER handle FOR TABLE table-name table-handle buffer-handleBUFFER-NAME buffer-nameIN WIDGET-POOL widget-pool-nameA character expression (table-name) that evaluates to a unique database table name or static temp-table name, a temp-table handle (table-handle), or to an existing buffer object handle (buffer-handle), each of which can specify the record source for which to create the buffer object.If table-name is ambiguous, you must qualify the database table name with a database name or rename the temp-table. Otherwise, if the database table exists in multiple connected databases, the AVM creates the buffer in the first connected database.BUFFER-NAME buffer-nameIN WIDGET-POOL widget-pool-nameExamplesThe following example runs the query “for each customer” dynamically against the Sports2000 database using a purely dynamic buffer with no compile time references at all:The following code fragment shows several different ways you can create an alternate dynamic buffer for a static temp-table. Note the notation BUFFER tt1:HANDLE and TEMP-TABLE tt1:HANDLE for accessing the default buffer object handle and temp-table object handle, respectively, for the static temp-table, tt1:
DEFINE VARIABLE hbuf AS HANDLE NO-UNDO. /* Default buffer object */DEFINE VARIABLE htab AS HANDLE NO-UNDO. /* Temp-table object */DEFINE VARIABLE hbuf1 AS HANDLE NO-UNDO. /* 2nd non-default buffer object */DEFINE TEMP-TABLE tt1 NO-UNDOFIELD x AS CHARACTER.hbuf = BUFFER tt1:HANDLE. /* Static temp-table’s default buffer */htab = TEMP-TABLE tt1:HANDLE. /* Static temp-table handle (not buffer) *//* Different ways to create an alternate temp-table buffer */CREATE BUFFER hbuf1FOR TABLE BUFFER tt1:HANDLE. /* From static tt's default buffer */CREATE BUFFER hbuf1 FOR TABLE hbuf. /* From static tt's default buffer */CREATE BUFFER hbuf1FOR TABLE TEMP-TABLE tt1:HANDLE. /* From static tt's handle */CREATE BUFFER hbuf1 FOR TABLE htab. /* From static tt's handle */CREATE BUFFER hbuf1 FOR TABLE "tt1". /* From static tt's name */
If the character expression, table-name, identifies a temp-table defined as REFERENCE-ONLY, the statement sets handle to an unbound object that cannot function as a buffer object. To create a valid buffer object for such a table, use FOR TABLE table-handle or buffer-handle instead.
DEFINE VARIABLE hbuf AS HANDLE NO-UNDO.DEFINE VARIABLE htab AS HANDLE NO-UNDO.DEFINE TEMP-TABLE tt2 NO-UNDOFIELD x AS CHARACTER.CREATE TEMP-TABLE htab.htab:TEMP-TABLE-PREPARE( "dynTT" )./* Obtaining the default buffer for a table */hbuf = BUFFER Customer:HANDLE. /* For a database table */hbuf = BUFFER tt2:HANDLE. /* For a static temp-table */hbuf = htab:DEFAULT-BUFFER-HANDLE. /* For a dynamic temp-table */
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates. |