210 lines
5.0 KiB
Plaintext
210 lines
5.0 KiB
Plaintext
--
|
|
-- Recreate script van Facilitor
|
|
--
|
|
/*
|
|
* This script is precompiled so #if(n)def MS_SQL can be used to distinguish between
|
|
* SQL Server and Oracle specific statements.
|
|
*
|
|
* C-style comment is removed from the result
|
|
*/
|
|
#include "modules.h"
|
|
#include "comsql.h"
|
|
|
|
#ifndef MS_SQL
|
|
SET TERMOUT ON
|
|
SET FEEDBACK OFF
|
|
SET ECHO OFF
|
|
SET PAGESIZE 0
|
|
SPOOL OFF
|
|
SET HEADING OFF
|
|
CLEAR SCREEN
|
|
|
|
PROMPT ***********************************************************************
|
|
PROMPT
|
|
PROMPT RECREATE SCRIPT van Facilitor
|
|
#ifdef MS_SQL
|
|
PROMPT versie voor MS SQL Server
|
|
#else
|
|
PROMPT versie voor Oracle
|
|
#endif
|
|
PROMPT $Revision: 2 $
|
|
PROMPT $Modtime: 26-10-05 13:04 $
|
|
PROMPT
|
|
PROMPT Re-creeert alle algemene views, triggers etc van een Faciltor schema
|
|
PROMPT
|
|
PROMPT
|
|
PROMPT Het wordt aangeraden om deze upgrade te draaien op een moment dat er
|
|
PROMPT geen gebruikers bezig zijn met de applicatie.
|
|
PROMPT
|
|
PROMPT De recreate wordt uitgevoerd. Even geduld a.u.b...
|
|
PROMPT
|
|
|
|
SET TERMOUT ON
|
|
SET HEADING OFF
|
|
SET FEEDBACK ON
|
|
SET ECHO ON
|
|
SET VERIFY OFF
|
|
SET LINESIZE 1000
|
|
SET SERVEROUTPUT ON;
|
|
|
|
SPOOL xrecreate.LST
|
|
|
|
#endif
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////GENERIC PART
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#undef CREATE_VIEW
|
|
|
|
#ifdef MS_SQL
|
|
#define CREATE_VIEW(view_name, level) \
|
|
IF EXISTS (SELECT TABLE_NAME \
|
|
FROM INFORMATION_SCHEMA.VIEWS \
|
|
WHERE TABLE_NAME = #@view_name~ \
|
|
AND TABLE_SCHEMA = 'dbo')~ \
|
|
DROP VIEW dbo.view_name;~ \
|
|
GO~CREATE VIEW dbo.view_name
|
|
#else
|
|
#define CREATE_VIEW(view_name, level) \
|
|
CREATE OR REPLACE FORCE VIEW view_name
|
|
#endif
|
|
|
|
/* TABLES
|
|
For SQLS we need to include the tables to get the _TYPE definitions for the packages
|
|
The (1=0) construcion prevents CREATE TABLES from executing
|
|
What remains are the #define's
|
|
*/
|
|
#ifdef MS_SQL
|
|
//#undef _GO
|
|
//#define _GO /* niets */
|
|
//#undef CREATE_TABLE
|
|
//#define CREATE_TABLE(table_name, level) ;~CREATE TABLE table_name
|
|
{ -- dit stuk moet je verwijderen (alles tussen de haakjes)
|
|
#include "fac_tab.src"
|
|
#include "alg_tab.src"
|
|
#include "ins_tab.src"
|
|
#include "prs_tab.src"
|
|
#include "mld_tab.src"
|
|
#include "mrk_tab.src"
|
|
#ifndef MS_SQL
|
|
#include "cad_tab.src"
|
|
#endif
|
|
#include "res_tab.src"
|
|
#include "bez_tab.src"
|
|
#include "web_tab.src"
|
|
#include "cnt_tab.src"
|
|
#include "bes_tab.src"
|
|
#include "pra_tab.src"
|
|
#include "sch_tab.src"
|
|
}
|
|
#undef _GO
|
|
#define _GO ~GO
|
|
|
|
#endif
|
|
|
|
// Recreation all views
|
|
|
|
#include "fac_vie.src"
|
|
#include "alg_vie.src"
|
|
#include "ins_vie.src"
|
|
#include "prs_vie1.src"
|
|
#include "prs_pac.src"
|
|
#include "prs_vie2.src"
|
|
#include "mld_vie.src"
|
|
#ifndef MS_SQL
|
|
#include "cad_vie1.src"
|
|
#endif
|
|
#include "res_vie.src"
|
|
#include "bez_vie.src"
|
|
#include "web_vie.src"
|
|
#include "cnt_vie.src"
|
|
#include "bes_vie.src"
|
|
#include "pra_vie.src"
|
|
#include "mrk_vie.src"
|
|
#include "sch_vie.src"
|
|
|
|
COMMIT;
|
|
|
|
// Recreation all packages
|
|
|
|
#ifdef MS_SQL
|
|
[skip]
|
|
create procedure drop_procfuns as
|
|
begin
|
|
DECLARE query CURSOR FOR
|
|
select distinct u.name+'.'+o.name, o.xtype
|
|
from sysobjects o, sysusers u
|
|
where o.uid = u.uid and (o.type = 'FN' or o.type = 'P')
|
|
and upper(o.name) not in ('TRUNC_DATE', 'INITCAP','LPAD','RPAD','CHAR_TO_DATE','DATE_TO_CHAR','NUMBER_TO_CHAR','CHAR_TO_NUMBER')
|
|
|
|
declare @nm varchar(500);
|
|
declare @tp varchar(500);
|
|
declare @sql varchar(500);
|
|
|
|
OPEN query;
|
|
FETCH NEXT FROM query INTO @nm,@tp;
|
|
WHILE (@@FETCH_STATUS <> -1 ) BEGIN
|
|
if (@tp='FN') set @sql = 'function' else set @sql = 'procedure'
|
|
set @sql = 'drop ' + @sql + ' ' + @nm;
|
|
exec(@sql);
|
|
FETCH NEXT FROM query INTO @nm,@tp;
|
|
END;
|
|
CLOSE query;
|
|
DEALLOCATE query;
|
|
end
|
|
go
|
|
-- Noot: er komen errors op web.CHAR_TO_DATE en DATE_TO_CHAR. Negeren
|
|
exec drop_procfuns
|
|
go
|
|
--drop procedure drop_procfuns
|
|
go
|
|
[/skip]
|
|
#endif
|
|
|
|
// prs_pac is al een keer eerder geweest. Vanwege drop_procfuns nog een keer
|
|
#include "prs_pac.src"
|
|
|
|
#include "cnt_pac.src"
|
|
#include "mld_pac.src"
|
|
#include "fac_pac.src"
|
|
#include "ins_pac.src"
|
|
#ifndef MS_SQL
|
|
#include "cad_pac.src"
|
|
#endif
|
|
#include "res_pac.src"
|
|
#include "bez_pac.src"
|
|
#include "web_pac.src"
|
|
#include "bes_pac.src"
|
|
#include "pra_pac.src"
|
|
#include "mrk_pac.src"
|
|
#include "sch_pac.src"
|
|
COMMIT;
|
|
|
|
// Views that uses packages
|
|
#include "mld_vie2.src"
|
|
|
|
|
|
// Recreation all triggers
|
|
|
|
#include "fac_tri.src"
|
|
#include "alg_tri.src"
|
|
#include "ins_tri.src"
|
|
#include "prs_tri.src"
|
|
#include "cnt_tri.src"
|
|
#include "mld_tri.src"
|
|
#ifndef MS_SQL
|
|
#include "cad_tri.src"
|
|
#endif
|
|
#include "res_tri.src"
|
|
#include "bez_tri.src"
|
|
#include "web_tri.src"
|
|
#include "bes_tri.src"
|
|
#include "pra_tri.src"
|
|
#include "mrk_tri.src"
|
|
#include "sch_tri.src"
|
|
|
|
SPOOL OFF
|
|
SET ECHO OFF
|
|
PROMPT De recreate is gereed.. Controleer de LST-file. |