Uživatelská definice databázového objektu
Uživatelská definice databázového objektu bývá použita ve speciálních případech. Použití konzultujte s tvůrci programu!
Pro úpravu databáze je možné k databázovým tabulkám definovat vlastní syntaxi, která má přednost před definicí danou aplikací.
Správnost syntaxe je zcela na zodpovědnosti správce!
Editace se spouští dvojklikem na požadovaný objekt v seznamu databázových objektů v levé části okna pro úpravu databáze. Objekty, které mají vlastní definici, jsou následně v seznamu modře podbarveny.
- tabulka
- databázový pohled, stored procedura, db funkce, triggery - u těchto není přístupná volba Zrušení objektu. (Script pro rušení objektu není možné definovat, bude vždy použito DROP [objectname].)
Tělo rutiny musí být definováno v celém rozsahu, tedy od klíčového slova CREATE [owner].[objectname] ...
Příklad: w_prac
V seznamu objektů ve skupině Pohled najděte w_prac, poklikejte nad touto položkou myší, otevře se okno se dvěma záložkami Vytvoření objektu a Zrušení objektu . Do textového pole v záložce Vytvoření objektu vkopírujte obsah souboru w_prac.sql. Záložka Zrušení objektu je nepřístupná - netřeba tam nic plnit. Poté spusťte úpravu databáze, kontrolu zda se view provedlo, můžete provést následujícím příkazem:
select * from w_prac
Napojení číselníku na číselník jiného systému
Úpravou definice tabulky číselníku na pohled do číselníku jiné databáze lze řešit napojení číselníku na číselník jiného systému. O takovéto úpravě definice objektu z vaší strany nevíme a pokud my, jako dodavatel systému, přidáme do tabulky nový sloupec, musíte si doplnit sloupec do upravené definice, aby to nezpůsobilo nefunkčnost systému kvůli chybějícímu sloupci. Poznámka: upřednostňujeme plnění číselníků přes KS WebAPI, ne všechny číseníky jsou ale v KS WebAPI dostupné.
Příklad pro MS SQL:
- Přes MS SQL Server Management Studio si vytáhneme CREATE syntax tabulky, kvůli získání seznamu sloupců a jejich typů.
- Do definice zadáme syntaxi pro vytvoření pohledu CREATE VIEW dbo.cis_cil AS SELECT ... FROM zdroj_DB.dbo.cis_zdroj,
- V části SELECT použijeme databázové funkce CAST nebo CONVERT, aby datové typy odpovídaly systému KS (POZOR: datumové položky mohou být na MS SQL typu date i char(10), vždy dodržte typ, který je v create syntax).
- Přes klíčové slovo "as" přejmenujeme sloupec.
- V cílové DB dáme databázovým uživatelům oprávnění číst ze zdrojové tabulky.
CREATE OR ALTER VIEW dbo.cis_cil AS SELECT CAST(id as INT) as id, CAST(num as char(40)) as cislo, CAST(name as char(50)) as nazev, CAST(begdat as date) as plati_od, CAST(enddat as date) as plati_do FROM zdroj_DB.dbo.cis_zdroj
