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

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. int
  28. main(void)
  29. {
  30.   char str1[100], str2[100];
  31.   short i=3,k=2, cn;
  32.   int j=0;
  33.   long cnt;
  34.   $ whenever sqlerror goto errexit;
  35.   EXEC SQL
  36.   DECLARE CURS1 CURSOR FOR
  37.     (
  38.       SELECT DISTINCT COLNAME, TABNAME, t.UNTABID, COLNO
  39.       FROM DEFINITION_SCHEMA.SYSCOLUMNS c, DEFINITION_SCHEMA.SYSTABLES t
  40. --    WHERE 
  41. --      t.UNTABID = c.UNTABID
  42. --        AND
  43. --      COLNAME >= 'E'
  44. --        AND
  45. --      t.UNTABID < 10
  46.     )
  47. ;
  48.   $ select count(*) into :j 
  49.       FROM DEFINITION_SCHEMA.SYSCOLUMNS c, DEFINITION_SCHEMA.SYSTABLES t
  50. --    WHERE 
  51. --    t.UNTABID < c.UNTABID
  52. --        AND
  53. --      COLNAME >= 'E'
  54. --        AND
  55. --      t.UNTABID < 10
  56.     ;
  57.   printf("Expected number of rows : %d n",j);
  58.   
  59.   $ WHENEVER NOT FOUND GOTO exit;
  60.   $ open CURS1;
  61.   while(1) 
  62.     {
  63.       $ fetch CURS1 into :str1, :str2, :j,:cn;
  64.       fprintf(stderr,"colname='%s', tabname=%s, untabid='%d', colno='%d'n",
  65.               str1, str2, j, cn);
  66.     }
  67.  exit:
  68.   fprintf(stderr,"End of Curs 1n");
  69.   $ close CURS1;
  70.   $ commit work;
  71.   return 0;
  72. errexit:
  73.   
  74.   return 1;
  75. }