testT11.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.    
  28. int
  29. main(void)
  30.   char tailb[100];
  31.   long cnt;
  32.   float taila;
  33.   int k1;
  34.   short k2;
  35.   $ WHENEVER SQLERROR GOTO errexit;
  36.  EXEC SQL
  37.  INSERT INTO TBL1
  38.  VALUES (60, 7, 5.5, 'D')
  39. ;
  40.  EXEC SQL
  41.  INSERT INTO TBL1 ( taila, tailb, k1, k2)
  42.  VALUES (5.5, 'usr', 60, 5)
  43. ;
  44.  EXEC SQL
  45.  INSERT INTO TBL1 (k1)
  46.  VALUES (500)
  47. ;
  48.   EXEC SQL
  49.   INSERT INTO TBL1 --( k1, k2, taila, tailb)
  50.    SELECT UNTABID, UNTABID, 7 + COLNO, TABNAME 
  51.     FROM DEFINITION_SCHEMA.SYSTABLES
  52.      WHERE TABNAME > 'SYSD'
  53.          AND
  54.    TABNAME > 'aa'
  55. ;
  56. EXEC SQL
  57.  INSERT INTO TBL1 
  58.    SELECT k1+100, k2+2, taila + 1.9 ,tailb 
  59.     FROM TBL1
  60. ;
  61.  EXEC SQL
  62.   DECLARE CURS1 CURSOR FOR
  63.     (
  64.       SELECT  k1, k2, taila, tailb
  65.       FROM TBL1
  66.     )
  67.     
  68. ;
  69.   $ WHENEVER NOT FOUND GOTO exit;
  70.  
  71.   $ open CURS1;
  72.   while(1)
  73.     {
  74.       $ fetch CURS1 into :k1, :k2, :taila, :tailb ;
  75.       printf("k1 = '%d', k2 = '%d', taila = '%f', tailb = '%s'n", k1, k2, taila, tailb);
  76.     }
  77.  exit:
  78.   fprintf(stderr,"End of Table TBL1n");
  79.   $ commit work;
  80.   return 0;
  81. errexit:
  82.   fprintf(stderr,"Error occured in test 35n");
  83.   return 0;
  84. }