Prvni verze na Git
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
{ *************************************************************************** }
|
||||
{ }
|
||||
{! SKRIPTY BY MĚLY BÝT PSÁNY TAK, ABY BYLY SPUSTITELNÉ VÍCEKRÁT - TZN. MĚLY !}
|
||||
{! BY OBSAHOVAT RŮZNÉ TESTY EXISTENCE - NAPŘ.: !}
|
||||
{ }
|
||||
{ -existuje tabulka TabXXX ? }
|
||||
{ IF OBJECT_ID('TabXXX','U')IS NOT NULL ... }
|
||||
{ }
|
||||
{ -existuje sloupec ABC v tabulce TabXXX ? }
|
||||
{ IF COLUMNPROPERTY(OBJECT_ID('TabXXX','U'),'ABC','AllowsNull')IS NOT NULL ... }
|
||||
{ }
|
||||
{ -existuje default DF__TabXXX__ABC na sloupci ABC v tabulce TabXXX ? }
|
||||
{ IF OBJECT_ID('DF__TabXXX__ABC','D')IS NOT NULL ... }
|
||||
{ }
|
||||
{ kde vezmu 2. parametr systémové funkce OBJECT_ID() - je to sysobjects.xtype }
|
||||
{ - viz BOL }
|
||||
{ }
|
||||
{!!! POZOR - POUŽITÍ RETURN VE ZMĚNOVÝCH SKRIPTECH V plgZmeny.pas NENÍ BEZTRESTNÉ !!!}
|
||||
{ -protože změnové skripty jsou obaleny knihovanmi BEGIN TRAN..COMMIT, tak }
|
||||
{ by případný RETURN ponechal transakci neuzavřenou ! Proto bych měl }
|
||||
{ použít tuto konstrukci: }
|
||||
{ IF @@TRANCOUNT>0 ROLLBACK /* nebo COMMIT dle situace */ }
|
||||
{ RETURN }
|
||||
{ -pokud je kód spouštěn přes EXEC() nebo sp_executesql, tak tam naopak }
|
||||
{ ROLLBACK (COMMIT) být NESMÍ, protože RETURN ukončuje jen daný EXEC() }
|
||||
{ -úplně nejlepší je se RETURNu ve změnových skriptech úplně vyhnout }
|
||||
{ }
|
||||
{ *************************************************************************** }
|
||||
|
||||
unit plgZmeny;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
plgType;
|
||||
|
||||
{ =========================================================================== }
|
||||
|
||||
const
|
||||
GZmenoveSkripty : array[0..0] of TplgZmenovySkript =
|
||||
(
|
||||
// aby bylo mozno nemit zadny zmenovy skript,
|
||||
// musi zustat prvni skript nedefinovan !!
|
||||
(PlatiOd : $010020050210;
|
||||
Skript : '';
|
||||
)
|
||||
|
||||
//last
|
||||
);
|
||||
|
||||
{ =========================================================================== }
|
||||
|
||||
implementation
|
||||
|
||||
{ ########################################################################### }
|
||||
|
||||
{ ########################################################################### }
|
||||
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user