test21.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. #include "tests.h"
  28. void
  29. row(char *tab,char *own,int unt)
  30. {
  31.       PRINT_S (tab, "tabname");
  32.       PRINT_S (own, "owner");
  33.       PRINT_D (unt, "untabid");
  34.       PRINT_END;
  35. }
  36. int
  37. main(void)
  38. {
  39.   char tabname[100],owner[100],credate[100],cretime[100];
  40.   char tabtype[5];
  41.   int untabid,tabd,primindid,nrows;
  42.   short segid,ncols;
  43.   int i = 5 , j = i+1;
  44.   $ WHENEVER SQLERROR GOTO errexit;
  45.   /*---------------------------------------------*/
  46.   $ declare c1 cursor for (
  47.     select
  48.        min (TABNAME), max (OWNER), avg (UNTABID)
  49. --          avg(UNTABID),max(TABNAME), max(OWNER)
  50.       from DEFINITION_SCHEMA.SYSTABLES
  51. --      where UNTABID in ( :i, :j )
  52. --      group by OWNER
  53.     );
  54.   
  55.   printf("----c1------n");
  56.   $ whenever not found goto ec1;
  57.   $ open c1 ;
  58.   while(1)
  59.     {
  60.       float avg;
  61.       $ fetch c1 into :tabname,:owner,:avg ;
  62.       untabid = avg;
  63.       row(tabname,owner,untabid);
  64.     }
  65.  ec1:
  66.   $ close c1;
  67.   printf("^^^^c1^^^^^^n");
  68.   /*---------------------------------------------*/
  69.   $ commit work;
  70.   return 0;
  71. errexit:
  72.   return 1;
  73. }