Welcome
Guest
, you are in:
<root>
•
Anmelden
CP Wiki
Navigation
¶
CP Solutions
Startseite
domizil+
Startseite
Administration
Administration
Neue Seite
Alle Seiten
Kategorien
Navigations-Pfade
Datei Manager
Neuer Benutzer
Suche im wiki
»
Zurück
CP_SQL
Modified on 27/07/2017 17:49
by
Patrik Mallaun
Categorized as
Nicht kategorisiert
Für eine bessere Fortschrittsanzeige und auch um Fehler besser finden zu können, haben wir uns entschlossen eine SQL Datei nicht im Gesamten auszuführen, sondern in eigene Bereiche aufzuteilen und jeden Bereich separat gegenüber der Datenbank auszuführen. Dabei wird nach dem Kommentar <nowiki>--CP_SQL--</nowiki> gesucht. {br}{br} '''GenerateUpdateScript Tool:'''{br} Hilfstool zum Erstellen von SQL Anweisungen:{br} In netFrame kann man mit dem Dialog "GenerateUpdateScript" die nötigen SQL Anweisungen erstellen lassen. * Tabellen Strukturen * Tabellen Inhalte * Spezielle DMS Einstellungen '''Syntax:'''{br} @@--CP_SQL(DescriptionDE: "Beschreibung Deutsch", DescriptionEN: "Beschreibung Englisch", ExecuteForEachCompany: false, DBName: "TIG", Transaction: "On", RunOnce: "SomeKey")--@@ {br}{br} '''DescriptionDE:'''{br} Beschreibung des Bereichs auf Deutsch. Dieser Text wird auch in der Fortschrittsanzeige angezeigt. {br}{br} '''DescriptionEN:'''{br} Beschreibung des Bereichs auf Deutsch. Dieser Text wird auch in der Fortschrittsanzeige angezeigt. {br}{br} '''ExecuteForEachCompany:'''{br} __Optional__. Ist dieses Attribut mit true hinterlegt, so werden alle Abfragen in diesen Bereich für jeden Mandanten ausgeführt. Benötigen wir für das DMS. Dabei wird in der DMS Datenbank für jeden Mandant eine Stored Procedure angelegt. Im Namen der Stored Procedure wird das Mandantenkürzel verwendet z.B. CP_dmsTriggerBank_KUA, CP_dmsTriggerBank_KUB usw. (das Kürzel wird über den Parameter $CO_INITIALS erstellt – siehe Parameter) {br}{br} '''DBName:'''{br} __Optional__. Ist in diesem Attribut ein Datenbank Name angegeben, wird die Anweisung im aktuellen Abschnitt nur ausgeführt wenn der DB Name übereinstimmt. {br}{br} '''RunOnce:'''{br} __Optional__. Wenn RunOnce: "SOME_KEY" angegeben wird, werden alle folgenden Anweisungen bis zum nächsten CP_SQL nur einmal ausgeführt. "SOME_KEY" durch einen eindeutigen Key pro RunOnce CP_SQL Abschnitt ersetzen. {br}{br} '''Transaction:'''{br} __Optional__. Mit Transaction: "Off" kann das automatische starten einer Transaktion im netFrameServerSetup deaktiviert werden. {br}{br} '''Error:'''{br} __Optional__. Mit Error: "continue" werden Fehler beim Ausführen der SQL Anweisung ignoriert {br}{br} '''Beispiel:'''{br} <code sql><nowiki> --CP_SQL(DescriptionDE: "CP_VARIABLE", DescriptionEN: "CP_VARIABLE")-- --*********************************************************************************************************************-- </nowiki> if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CP_VARIABLE]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [dbo].[CP_VARIABLE] ( VA_ID varchar (36) not null ) ON [PRIMARY] END GO exec dbo.CP_UPDATE_ADD_FIELD 'dbo', 'CP_VARIABLE', 'varchar', 'CO_ID', '36', '', '', 1 exec dbo.CP_UPDATE_ADD_FIELD 'dbo', 'CP_VARIABLE', 'int', 'VA_NUMBER', '', '', '', 1 exec dbo.CP_UPDATE_ADD_FIELD 'dbo', 'CP_VARIABLE', 'varchar', 'VA_NAME', '50', '', '', 1 exec dbo.CP_UPDATE_ADD_FIELD 'dbo', 'CP_VARIABLE', 'varchar', 'VA_TYPE', '50', '', '', 1 exec dbo.CP_UPDATE_ADD_FIELD 'dbo', 'CP_VARIABLE', 'varchar', 'VA_VALUE', '1024', '', '', 1 exec dbo.CP_UPDATE_ADD_FIELD 'dbo', 'CP_VARIABLE', 'varchar', 'VA_DESCRIPTION', '2048', '', '', 1 exec CP_UPDATE_ADD_PRIMARYKEY 'CP_VARIABLE', 'PK_CP_VARIABLE', 'VA_ID', '', '' GO </code> {br}{br} Für jeden Bereich wird in der Fortschrittsanzeige ein neuer Text je nach Sprache angezeigt und auch gegenüber der Datenbank gesondert ausgeführt d.h. es wird nicht die ganze Datei auf einmal ausgeführt.
ScrewTurn Wiki
version 3.0.1.400. Some of the icons created by
FamFamFam
.