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

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. {
  31.   int
  32.     TABFROM = -1, TABTO    = -1,
  33.     INDTO   = -1, CHCONID  = -1,
  34.     CONSIZE = -1, FRAGSIZE = -1;
  35.   
  36.   short
  37.     NCOLS    = -1, COLNOFR1 = -1, COLNOFR2 = -1, COLNOFR3 = -1,
  38.     COLNOFR4 = -1, COLNOFR5 = -1, COLNOFR6 = -1, COLNOFR7 = -1,
  39.     COLNOFR8 = -1, COLNOTO1 = -1, COLNOTO2 = -1, COLNOTO3 = -1,
  40.     COLNOTO4 = -1, COLNOTO5 = -1, COLNOTO6 = -1,
  41.     COLNOTO7 = -1, COLNOTO8 = -1, FRAGNO   = -1;
  42.   EXEC SQL
  43.   DECLARE CURS1 CURSOR FOR
  44.     (
  45.       SELECT TABFROM, TABTO, INDTO, NCOLS, COLNOFR1, COLNOFR2, COLNOFR3,
  46. COLNOFR4, COLNOFR5, COLNOFR6, COLNOFR7, COLNOFR8, COLNOTO1,
  47. COLNOTO2, COLNOTO3, COLNOTO4, COLNOTO5, COLNOTO6,
  48.  COLNOTO7, COLNOTO8
  49.       FROM DEFINITION_SCHEMA.SYSREFCONSTR
  50.     )
  51. ;
  52.   EXEC SQL
  53.   DECLARE CURS2 CURSOR FOR
  54.     (
  55.       SELECT UNTABID, CHCONID,  CONSIZE, NCOLS, COLNO1, COLNO2, COLNO3,
  56. COLNO4, COLNO5, COLNO6, COLNO7, COLNO8
  57.       FROM DEFINITION_SCHEMA.SYSCHCONSTR
  58.     )
  59. ;
  60.   EXEC SQL
  61.   DECLARE CURS3 CURSOR FOR
  62.     (
  63.       SELECT CHCONID,  FRAGNO, FRAGSIZE
  64.       FROM DEFINITION_SCHEMA.SYSCHCONSTRTWO
  65.     )
  66. ;
  67.   $ WHENEVER SQLERROR GOTO errexit;
  68.   $ WHENEVER NOT FOUND GOTO exit;
  69.   $ open CURS1;
  70.   printf (" SYSREFCONSTR :n");
  71.   while(1)
  72.     {
  73.       $ fetch CURS1 into
  74.         :TABFROM,  :TABTO,    :INDTO,    :NCOLS,    :COLNOFR1, :COLNOFR2,
  75. :COLNOFR3, :COLNOFR4, :COLNOFR5, :COLNOFR6, :COLNOFR7, :COLNOFR8,
  76. :COLNOTO1, :COLNOTO2, :COLNOTO3, :COLNOTO4, :COLNOTO5, :COLNOTO6,
  77. :COLNOTO7, :COLNOTO8;
  78.       PRINT_D (TABFROM , "TABFROM" );
  79.       PRINT_D (TABTO   , "TABTO"   );
  80.       PRINT_D (INDTO   , "INDTO"   );
  81.       PRINT_D (NCOLS   , "NCOLS"   );
  82.       PRINT_D (COLNOFR1, "COLNOFR1");
  83.       PRINT_D (COLNOFR2, "COLNOFR2");
  84.       PRINT_D (COLNOFR3, "COLNOFR3");
  85.       PRINT_D (COLNOFR4, "COLNOFR4");
  86.       PRINT_D (COLNOFR5, "COLNOFR5");
  87.       PRINT_D (COLNOFR6, "COLNOFR6");
  88.       PRINT_D (COLNOFR7, "COLNOFR7");
  89.       PRINT_D (COLNOFR8, "COLNOFR8");
  90.       PRINT_D (COLNOTO1, "COLNOTO1");
  91.       PRINT_D (COLNOTO2, "COLNOTO2");
  92.       PRINT_D (COLNOTO3, "COLNOTO3");
  93.       PRINT_D (COLNOTO4, "COLNOTO4");
  94.       PRINT_D (COLNOTO5, "COLNOTO5");
  95.       PRINT_D (COLNOTO6, "COLNOTO6");
  96.       PRINT_D (COLNOTO7, "COLNOTO7");
  97.       PRINT_D (COLNOTO8, "COLNOTO8");
  98.       PRINT_END;
  99.     }
  100.  exit:
  101.   $ close CURS1;
  102.   $ WHENEVER NOT FOUND GOTO exit1;
  103.   $ open CURS2;
  104.   printf ("nn SYSCHCONSTR :nn");
  105.   while(1)
  106.     {
  107.       $ fetch CURS2 into
  108.         :TABFROM,  :CHCONID,  :CONSIZE,  :NCOLS,    :COLNOFR1, :COLNOFR2,
  109. :COLNOFR3, :COLNOFR4, :COLNOFR5, :COLNOFR6, :COLNOFR7, :COLNOFR8;
  110.       PRINT_D (TABFROM , "UNTABID");
  111.       PRINT_D (CHCONID , "CHCONID");
  112.       PRINT_D (CONSIZE , "CONSIZE");
  113.       PRINT_D (NCOLS   , "NCOLS"  );
  114.       PRINT_D (COLNOFR1, "COLNO1" );
  115.       PRINT_D (COLNOFR2, "COLNO2" );
  116.       PRINT_D (COLNOFR3, "COLNO3" );
  117.       PRINT_D (COLNOFR4, "COLNO4" );
  118.       PRINT_D (COLNOFR5, "COLNO5" );
  119.       PRINT_D (COLNOFR6, "COLNO6" );
  120.       PRINT_D (COLNOFR7, "COLNO7" );
  121.       PRINT_D (COLNOFR8, "COLNO8" );
  122.       PRINT_END;
  123.     }
  124.  exit1:
  125.   $ close CURS2;
  126.   $ WHENEVER NOT FOUND GOTO exit2;
  127.   $ open CURS3;
  128.   printf ("nn SYSCHCONSTRTWO :nn");
  129.   while(1)
  130.     {
  131.       $ fetch CURS3 into :CHCONID, :FRAGNO, :CONSIZE;
  132.       PRINT_D (CHCONID, "CHCONID");
  133.       PRINT_D (FRAGNO, "FRAGNO");
  134.       PRINT_D (CONSIZE, "FRAGSIZE");
  135.       PRINT_END;
  136.     }
  137.  exit2:
  138.   $ close CURS3;
  139.   $ commit work;
  140.   return 0;
  141. errexit:
  142.   return 0;
  143. }