home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 December / PCWorld_1998-12_cd.iso / software / sybase / ASA / asa60.exe / data1.cab / scripts_files / sysviews.sql < prev    next >
Text File  |  1998-07-27  |  13KB  |  343 lines

  1. --  ************************************************************************
  2. --  *       Copyright (C) 1998 by Sybase Inc.  All rights                   *
  3. --  *       reserved. No part of this software may be reproduced            *
  4. --  *       in any form or by any means - graphic, electronic or            *
  5. --  *       mechanical, including photocopying, recording, taping           *
  6. --  *       or information storage and retrieval systems - except           *
  7. --  *       with the written permission of Sybase Inc.                      *
  8. --  *************************************************************************
  9. --
  10. --  WARNING: This is a program generated file. Do not edit.
  11. --
  12. CREATE VIEW SYS.SYSUSERPERMS 
  13.         as select user_id, user_name, resourceauth, dbaauth,
  14.                   scheduleauth, user_group, publishauth, remotedbaauth, remarks
  15.              from SYS.SYSUSERPERM
  16. go
  17. GRANT SELECT on SYS.SYSUSERPERMS to SYS
  18. go
  19. IF @avoid_view_collisions = 'N' THEN
  20. CREATE VIEW SYS.SYSCOLUMNS (creator, cname, tname, coltype, nulls, length,
  21.             syslength, in_primary_key, "colno", default_value,
  22.             column_kind, remarks)
  23.         as select (select user_name from SYS.SYSUSERPERM
  24.                where user_id = SYSTABLE.creator),
  25.               column_name, table_name,
  26.               (select domain_name from SYS.SYSDOMAIN
  27.                where domain_id = SYSCOLUMN.domain_id),
  28.               nulls, width, scale, pkey, column_id, "default",
  29.               column_type, SYSCOLUMN.remarks
  30.         from SYS.SYSCOLUMN == SYS.SYSTABLE;
  31. GRANT SELECT on SYS.SYSCOLUMNS to SYS;
  32. END IF
  33. go
  34. CREATE VIEW SYS.SYSCATALOG
  35.         (creator, tname, dbspacename, tabletype, ncols, primary_key, "check",
  36.     remarks)
  37.         as select (select user_name from SYS.SYSUSERPERM
  38.                    where user_id = SYSTABLE.creator),
  39.                   table_name,
  40.                   (select dbspace_name from SYS.SYSFILE
  41.                    where file_id = SYSTABLE.file_id),
  42.                   if table_type='BASE' then 'TABLE' else table_type endif,
  43.                   (select count(*) from SYS.SYSCOLUMN
  44.                    where table_id = SYSTABLE.table_id),
  45.                   if primary_root = 0 then 'N' else 'Y' endif,
  46.           if table_type<>'VIEW' then view_def endif,
  47.                   remarks
  48.         from SYS.SYSTABLE
  49. go
  50. GRANT SELECT on SYS.SYSCATALOG to SYS
  51. go
  52. CREATE VIEW SYS.SYSVIEWS
  53.         (vcreator,viewname,viewtext)
  54.         as select user_name, table_name, view_def
  55.         from SYS.SYSTABLE == SYS.SYSUSERPERM
  56.         where table_type = 'VIEW'
  57. go
  58. GRANT SELECT on SYS.SYSVIEWS to SYS
  59. go
  60. IF @avoid_view_collisions = 'N' THEN
  61. CREATE VIEW SYS.SYSINDEXES
  62.         (icreator, iname, fname, creator, tname, indextype,
  63.         colnames, interval, level_num )
  64.         as select (select user_name from SYS.SYSUSERPERM
  65.                where user_id = SYSINDEX.creator),
  66.               index_name,
  67.               (select file_name from SYS.SYSFILE
  68.                where file_id = SYSINDEX.file_id),
  69.               (select user_name from SYS.SYSUSERPERM
  70.                where user_id = SYSINDEX.creator),
  71.               table_name,
  72.               if "unique" = 'N' then 'Non-unique' else
  73.               if "unique" = 'U' then 'UNIQUE constraint'
  74.               else 'Unique' endif endif,
  75.               (select "list"( string(column_name,
  76.                    if "order" = 'A' then ' ASC' else ' DESC' endif) )
  77.             from SYS.SYSIXCOL==SYS.SYSCOLUMN
  78.                where index_id=SYSINDEX.index_id
  79.              and SYSIXCOL.table_id=SYSINDEX.table_id),
  80.               0, 0
  81.         from SYS.SYSTABLE == SYS.SYSINDEX;
  82. GRANT SELECT on SYS.SYSINDEXES to SYS;
  83. END IF
  84. go
  85. CREATE VIEW SYS.SYSUSERAUTH
  86.         ( name, password, resourceauth, dbaauth, scheduleauth, user_group )
  87.         as select user_name, password, resourceauth, dbaauth, scheduleauth, user_group
  88.         from SYS.SYSUSERPERM
  89. go
  90.     
  91. CREATE VIEW SYS.SYSUSERLIST
  92.         ( name, resourceauth, dbaauth, scheduleauth, user_group )
  93.         as select user_name, resourceauth, dbaauth, scheduleauth, user_group
  94.         from SYS.SYSUSERPERM
  95. go
  96. GRANT SELECT on SYS.SYSUSERLIST to SYS
  97. go
  98. CREATE VIEW SYS.SYSGROUPS
  99.         ( group_name, member_name )
  100.         as select g.user_name, u.user_name
  101.         from SYS.SYSGROUP, SYS.SYSUSERPERM g, SYS.SYSUSERPERM u
  102.         where group_id = g.user_id  and  group_member = u.user_id
  103. go
  104. GRANT SELECT on SYS.SYSGROUPS to SYS
  105. go
  106. CREATE VIEW SYS.SYSCOLAUTH ( grantor, grantee, creator, tname, colname,
  107.         privilege_type, is_grantable )
  108.         as select
  109.                 (select user_name from SYS.SYSUSERPERM
  110.                     where user_id = SYSCOLPERM.grantor),
  111.                 (select user_name from SYS.SYSUSERPERM
  112.                     where user_id = SYSCOLPERM.grantee),
  113.                 (select user_name from SYS.SYSUSERPERM == SYS.SYSTABLE
  114.                     where table_id = SYSCOLPERM.table_id),
  115.                 (select table_name from SYS.SYSTABLE
  116.                     where table_id = SYSCOLPERM.table_id),
  117.                 (select column_name from SYS.SYSCOLUMN
  118.                     where table_id = SYSCOLPERM.table_id
  119.                       and column_id = SYSCOLPERM.column_id),
  120.         privilege_type,
  121.         is_grantable
  122.         from    SYS.SYSCOLPERM
  123. go
  124. GRANT SELECT on SYS.SYSCOLAUTH to SYS
  125. go
  126. CREATE VIEW SYS.SYSTABAUTH
  127.         ( grantor, grantee, screator, stname, tcreator, ttname,
  128.                         selectauth, insertauth, deleteauth,
  129.                         updateauth, updatecols, alterauth, referenceauth )
  130.         as select
  131.                 (select user_name from SYS.SYSUSERPERM
  132.                     where user_id = SYSTABLEPERM.grantor),
  133.                 (select user_name from SYS.SYSUSERPERM
  134.                     where user_id = SYSTABLEPERM.grantee),
  135.                 (select user_name from SYS.SYSUSERPERM == SYS.SYSTABLE
  136.                     where table_id = SYSTABLEPERM.stable_id),
  137.                 (select table_name from SYS.SYSTABLE
  138.                     where table_id = SYSTABLEPERM.stable_id),
  139.                 (select user_name from SYS.SYSUSERPERM == SYS.SYSTABLE
  140.                     where table_id = SYSTABLEPERM.ttable_id),
  141.                 (select table_name from SYS.SYSTABLE
  142.                     where table_id = SYSTABLEPERM.ttable_id),
  143.                 selectauth, insertauth, deleteauth,
  144.                 updateauth, updatecols, alterauth, referenceauth
  145.         from    SYS.SYSTABLEPERM
  146. go
  147. GRANT SELECT on SYS.SYSTABAUTH to SYS
  148. go
  149. CREATE VIEW SYS.SYSOPTIONS ( user_name, "option", "setting" )
  150.         as select
  151.                 (select user_name from SYS.SYSUSERPERM
  152.                     where user_id = SYSOPTION.user_id),
  153.                 "option", "setting"
  154.         from SYS.SYSOPTION
  155. go
  156. GRANT SELECT on SYS.SYSOPTIONS to SYS
  157. go
  158. CREATE VIEW SYS.SYSUSEROPTIONS
  159.         ( "user_name", "option", "setting" )
  160.     as SELECT
  161.             u.name,
  162.             "option",
  163.             isnull( (SELECT "setting"
  164.                        FROM SYS.SYSOPTIONS s
  165.                       WHERE s.user_name = u.name
  166.                         AND s."option" = o."option" ),
  167.                     "setting" )
  168.         FROM SYS.SYSOPTIONS o, SYS.SYSUSERAUTH u
  169.         WHERE o.user_name = 'PUBLIC'
  170. go
  171. GRANT SELECT on SYS.SYSUSEROPTIONS to SYS
  172. go
  173. CREATE VIEW SYS.SYSFOREIGNKEYS
  174.         ( foreign_creator, foreign_tname,
  175.           primary_creator, primary_tname, role, columns )
  176.     as select
  177.             (select user_name from SYS.SYSUSERPERM == SYS.SYSTABLE
  178.                 where table_id = foreign_table_id),
  179.             (select table_name from SYS.SYSTABLE
  180.                 where table_id = foreign_table_id),
  181.             (select user_name from SYS.SYSUSERPERM == SYS.SYSTABLE
  182.                 where table_id = primary_table_id),
  183.             (select table_name from SYS.SYSTABLE
  184.                 where table_id = primary_table_id),
  185.             role,
  186.             (select "list"( string( FK.column_name, ' IS ', PK.column_name ) )
  187.                from SYS.SYSFKCOL == SYS.SYSCOLUMN FK, SYS.SYSCOLUMN PK
  188.               where foreign_table_id = SYSFOREIGNKEY.foreign_table_id
  189.                 and foreign_key_id   = SYSFOREIGNKEY.foreign_key_id
  190.                 and PK.table_id = SYSFOREIGNKEY.primary_table_id
  191.                 and PK.column_id = SYSFKCOL.primary_column_id)
  192.     from SYS.SYSFOREIGNKEY
  193. go
  194. GRANT SELECT on SYS.SYSFOREIGNKEYS to SYS
  195. go
  196. CREATE VIEW SYS.SYSPROCPARMS
  197.     (creator, parmname, procname, parmtype, parmmode, parmdomain,
  198.         length, remarks)
  199.         as select (select user_name from SYS.SYSUSERPERM
  200.                    where user_id = SYSPROCEDURE.creator),
  201.                   parm_name, proc_name,
  202.           parm_type,
  203.           if parm_mode_in = 'Y' and parm_mode_out = 'N' then 'IN'
  204.           else if parm_mode_in = 'N' and parm_mode_out = 'Y' then 'OUT'
  205.           else 'INOUT'
  206.           endif endif,
  207.                   (select domain_name from SYS.SYSDOMAIN
  208.                    where domain_id = SYSPROCPARM.domain_id),
  209.                   width, 
  210.           SYSPROCPARM.remarks
  211.         from SYS.SYSPROCPARM == SYS.SYSPROCEDURE
  212. go
  213. GRANT SELECT on SYS.SYSPROCPARMS to SYS
  214. go
  215. CREATE VIEW SYS.SYSTRIGGERS
  216.     ("owner", trigname, tname, event, trigtime, trigdefn)
  217.     as select (select user_name from SYS.SYSUSERPERM
  218.            where user_id = SYSTABLE.creator),
  219.           trigger_name,
  220.           table_name,
  221.           if      event = 'I' then 'INSERT'
  222.           else if event = 'U' then 'UPDATE'
  223.           else if event = 'C' then 'UPDATE'
  224.           else if event = 'D' then 'DELETE'
  225.           else if event = 'A' then 'INSERT,DELETE'
  226.           else if event = 'B' then 'INSERT,UPDATE'
  227.           else if event = 'E' then 'DELETE,UPDATE'
  228.           else 'INSERT,DELETE,UPDATE' endif endif endif endif endif endif endif,
  229.           if      trigger_time = 'B' or trigger_time = 'P' then 'BEFORE' 
  230.           else if trigger_time = 'A' or trigger_time = 'S' then 'AFTER' 
  231.           else if trigger_time = 'R' then 'RESOLVE'
  232.           else 'INSTEAD OF' endif endif endif,
  233.           trigger_defn
  234.     from SYS.SYSTRIGGER == SYS.SYSTABLE
  235.     where foreign_table_id is null
  236. go
  237. GRANT SELECT on SYS.SYSTRIGGERS to SYS
  238. go
  239. CREATE VIEW SYS.SYSPROCAUTH
  240.     (grantee, creator, procname)
  241.     as select (select user_name from SYS.SYSUSERPERM
  242.            where SYSPROCPERM.grantee = SYSUSERPERM.user_id),
  243.           (select user_name from SYS.SYSUSERPERM
  244.            where SYSPROCEDURE.creator = SYSUSERPERM.user_id),
  245.           proc_name 
  246.     from SYS.SYSPROCEDURE == SYS.SYSPROCPERM
  247. go
  248. GRANT SELECT on SYS.SYSPROCAUTH to SYS
  249. go
  250.     
  251.     
  252.     CREATE VIEW SYS.SYSREMOTETYPES
  253.     as select type_id, type_name, publisher_address, remarks
  254.     FROM SYS.SYSREMOTETYPE
  255. go
  256. GRANT SELECT on SYS.SYSREMOTETYPES to SYS
  257. go
  258. CREATE view SYS.SYSPUBLICATIONS
  259.     as select
  260.         (select user_name from SYS.SYSUSERPERM u
  261.         where u.user_id = p.creator) as creator,
  262.         publication_name, remarks
  263.     FROM SYS.SYSPUBLICATION p
  264. go
  265. GRANT SELECT on SYS.SYSPUBLICATIONS to SYS
  266. go
  267. CREATE view SYS.SYSARTICLES
  268.     as select
  269.         (select publication_name from SYS.SYSPUBLICATION p
  270.         where p.publication_id = a.publication_id) as publication_name,
  271.         (select table_name from SYS.SYSTABLE t
  272.         where t.table_id = a.table_id) as table_name,
  273.         where_expr, subscribe_by_expr
  274.     FROM SYS.SYSARTICLE a
  275. go
  276. GRANT SELECT on SYS.SYSARTICLES to SYS
  277. go
  278. CREATE view SYS.SYSARTICLECOLS
  279.     as select
  280.         (select publication_name from SYS.SYSPUBLICATION p
  281.         where p.publication_id = ac.publication_id) as publication_name,
  282.         (select table_name from SYS.SYSTABLE t
  283.         where t.table_id = ac.table_id) as table_name,
  284.         (select column_name from SYS.SYSCOLUMN c
  285.         where c.table_id = ac.table_id
  286.           and c.column_id = ac.column_id) as column_name
  287.     FROM SYS.SYSARTICLECOL ac
  288. go
  289. GRANT SELECT on SYS.SYSARTICLECOLS to SYS
  290. go
  291. CREATE VIEW SYS.SYSREMOTEUSERS
  292.     as select
  293.         (select user_name from SYS.SYSUSERPERM u
  294.         where u.user_id = r.user_id) as user_name,
  295.         consolidate,
  296.         (select type_name from SYS.SYSREMOTETYPE t
  297.         where t.type_id = r.type_id) as type_name,
  298.         address, frequency, send_time,
  299.         (    if frequency = 'A' then
  300.             NULL
  301.         else
  302.             if frequency = 'P' then
  303.             if time_sent IS NULL then
  304.                 CURRENT TIMESTAMP
  305.             else
  306.                 ( select min( minutes( time_sent,
  307.                 60 * hour(a.send_time)
  308.                 + minute( seconds( a.send_time, 59 ) ) ) )
  309.                 FROM SYS.SYSREMOTEUSER a
  310.                 WHERE a.frequency = 'P'
  311.                   AND a.send_time = r.send_time )
  312.             endif
  313.             else
  314.             if CURRENT DATE + send_time >
  315.                 coalesce(time_sent,CURRENT TIMESTAMP) then
  316.                 CURRENT DATE + send_time
  317.             else
  318.                 CURRENT DATE + send_time + 1
  319.             endif
  320.             endif
  321.         endif ) as next_send,
  322.         log_send,
  323.         time_sent, log_sent, confirm_sent, send_count, resend_count,
  324.         time_received, log_received, confirm_received, receive_count, rereceive_count
  325.     FROM SYS.SYSREMOTEUSER r
  326. go
  327. GRANT SELECT on SYS.SYSREMOTEUSERS to SYS
  328. go
  329. CREATE view SYS.SYSSUBSCRIPTIONS
  330.     as select
  331.         (select publication_name from SYS.SYSPUBLICATION p
  332.         where p.publication_id = s.publication_id) as publication_name,
  333.         (select user_name from SYS.SYSUSERPERM u
  334.         where u.user_id = s.user_id) as user_name,
  335.         subscribe_by, created, started
  336.     FROM SYS.SYSSUBSCRIPTION s
  337. go
  338. GRANT SELECT on SYS.SYSSUBSCRIPTIONS to SYS
  339. go
  340. COMMIT WORK
  341. go
  342.     
  343.