test30.ec
上传用户:dgyhgb
上传日期:2007-01-07
资源大小:676k
文件大小:3k
源码类别:

SQL Server

开发平台:

Unix_Linux

  1. /*
  2.  * $Id$
  3.  *
  4.  * This file is a part of GNU SQL Server
  5.  *
  6.  * Copyright (c) 1996, Free Software Foundation, Inc
  7.  * Developed at Institute of System Programming of Russian Academy of Science
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify it under
  10.  * the terms of the GNU General Public License as published by the Free
  11.  * Software Foundation; either version 2 of the License, or (at your option)
  12.  * any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful, but WITHOUT
  15.  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  16.  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  17.  * more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License along with
  20.  * this program; if not, write to the Free Software Foundation, Inc.,
  21.  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  22.  *
  23.  * Contacts: gss@ispras.ru
  24.  */
  25. #include <stdio.h>
  26. #include <stdlib.h>
  27. #include "tests.h"
  28. int
  29. main(void)
  30.   char tabname[100],owner[100],credate[100],cretime[100];
  31.   char tabtype[5];
  32.   int i, untabid,tabd,primindid,nrows, nnulcolnum;
  33.   short segid,ncols;
  34.   EXEC SQL
  35.   DECLARE CURS1 CURSOR FOR
  36.     (
  37.       SELECT  TABNAME,OWNER,UNTABID,TABTYPE,
  38.             CREDATE,CRETIME,NCOLS,NROWS, NNULCOLNUM
  39.       FROM DEFINITION_SCHEMA.SYSTABLES
  40. --      WHERE   UNTABID < 100
  41. --        AND UNTABID >= 2
  42. --        and TABNAME    is not null
  43. --        and OWNER      is not null
  44. --        and UNTABID    is not null
  45. --        and SEGID      is not null
  46. --        and TABD       is not null
  47. --        and PRIMINDID  is not null
  48. --        and TABTYPE    is not null
  49. --        and CREDATE    is not null
  50. --        and CRETIME    is not null
  51. --        and NCOLS      is not null
  52. --        and NROWS      is not null
  53. --        and NNULCOLNUM is not null
  54.     ) ;
  55.   
  56.   $ WHENEVER SQLERROR GOTO errexit;
  57.   $ WHENEVER NOT FOUND GOTO exit;
  58.   $ open CURS1;
  59.   
  60.   while(1)
  61.     {
  62.       $ fetch CURS1 into :tabname,:owner,:untabid,:tabtype,
  63.                :credate,:cretime,:ncols,:nrows,:nnulcolnum;
  64.       
  65.       PRINT_S (tabname, "tabname");
  66.       PRINT_S (owner, "owner");
  67.       PRINT_D (untabid, "untabid");
  68.       PRINT_S (tabtype, "tabtype");
  69.       PRINT_S (credate, "credate");
  70.       PRINT_S (cretime, "cretime");
  71.       PRINT_D (ncols, "ncols");
  72.       PRINT_D (nrows, "nrows");
  73.       PRINT_D (nnulcolnum, "nnulcolnum");
  74.       PRINT_END;
  75.     }
  76. exit:
  77.   fprintf(stderr,"End of Table SYSTABLESn");
  78.   $ close CURS1;
  79.   
  80.   fprintf(stderr,"End of test 30n");
  81.   $ commit work;
  82.   return 0;
  83.   
  84. errexit:
  85.   fprintf(stderr,"Test %s: error (%d) : %sn",
  86.           __FILE__,gsqlca.sqlcode,gsqlca.errmsg);
  87.   return 1;
  88. }