test22.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.   int untabid, i = 8;
  31.   char grantee[100],grantor[100],tabauth[100]; 
  32.   short colno;
  33.   EXEC SQL
  34.   DECLARE CURS1 CURSOR FOR
  35.     (
  36.       SELECT UNTABID, GRANTEE, GRANTOR, TABAUTH
  37.       FROM DEFINITION_SCHEMA.SYSTABAUTH
  38.       WHERE
  39.        TABAUTH NOT LIKE  'S' ESCAPE 'S'
  40. --     NOT
  41. --     (  TABAUTH = 'Su'
  42. --      OR
  43. --     UNTABID < 9 ) --:i
  44.     )
  45. ;
  46.   EXEC SQL
  47.   DECLARE CURS2 CURSOR FOR
  48.     (
  49.       SELECT UNTABID, COLNO, GRANTEE, GRANTOR, COLAUTH
  50.       FROM DEFINITION_SCHEMA.SYSCOLAUTH
  51. --     WHERE 
  52. --       GRANTEE='kml'
  53. --     AND
  54. --       COLNO > 9--:i
  55.     )
  56. ;
  57.   $ WHENEVER SQLERROR GOTO errexit;
  58.   $ WHENEVER NOT FOUND GOTO exit;
  59.   $ open CURS1;
  60.   while(1)
  61.     {
  62.       $ fetch CURS1 into :untabid,:grantee,:grantor,:tabauth ;
  63.       fprintf(stderr,"untabid='%d'grantee='%s' grantor ='%s' tabauth='%s'n",
  64.               untabid,grantee,grantor,tabauth);
  65.     }
  66.  exit:
  67.   fprintf(stderr,"End of Table 1n");
  68.   $ close CURS1;
  69.   $ WHENEVER NOT FOUND GOTO exit1;
  70.   $ open CURS2;
  71.   while(1)
  72.     {
  73.       $ fetch CURS2 into :untabid,:colno,:grantee,:grantor,:tabauth ;
  74.       fprintf(stderr,"untabid='%d' colno=%d grantee='%s' grantor ='%s' tabauth='%s'n",
  75.               untabid,colno,grantee,grantor,tabauth);
  76.     }
  77.  exit1:
  78.   fprintf(stderr,"End of Table 2n");
  79.   $ close CURS2;
  80.   
  81.   $ commit work;
  82.   return 0;
  83. errexit:
  84.   $ rollback work ;
  85.   return 1;
  86. }