SQL v14 4D Developer konference
Obsah části SQL Porovnání 4D a SQL Nové příkazy SQL Upravené příkazy SQL Optimalizace SQL
SQL v14 porovnání Definice dat - struktury Manipulace s daty
Definice dat Vytvoření tabulky o4d - Editor struktury osql - CREATE TABLE
Definice dat Úprava tabulky o 4D - Editor struktury o SQL - ALTER TABLE --přidá Pole_2 type int do Tabulka_1 ALTER TABLE Tabulka_1 ADD Pole_2 int; -upraví Pole_1 z Tabulka_1 aby bylo typu int ALTER TABLE table_1 ALTER COLUMN field_1 int; vymaže Pole_1 z Tabulka_1 ALTER TABLE Tabulka_1 DROP COLUMN Pole_1;
Definice dat Vymazání tabulky o 4D - Editor struktury! přesun do koše o SQL - DROP TABLE! tabulka není přesunuta do koše, natrvalo! formuláře tabulky přesunuty do koše
Manipulace s daty Zkrácení tabulky - mazání výběru o 4D! ručně - AR,QUERY a tlačítko vymazat! příkazy TRUNCATE TABLE, DELETE RECORD/SELECTION osql! TRUNCATE TABLE, vymaže všechny záznamy
Manipulace s daty Výběr záznamů o 4D!- All Records, Query!- ručně z formuláře o SQL - Select * From table_1 Where ID=1 Into (:$var_id, :$var_f1, :$var_f2);!nevytvoří výběr v paměti k němu potřeba vložit výběr do proměnných/ arrays
Manipulace s daty Vytvoření záznamů o 4D! Vstup z formuláře! Create / Save Record osql! INSERT - - vytvoří záznam v tabulce table_1 INSERT INTO table_1 (field_1, Field_2) VALUES ( abc,123)
Manipulace s daty Vymazání záznamů o 4D! Ručně - označit, tlačítko Vymazat, Backspace! Programem //vymaže jeden záznam v table_1 Query([table_1];[table_1]field_1= abc ) Delete Record([table_1]) //vymaže výběr záznamů v table_1 Query([table_1];[table_1]ID>10) Delete Selection([table_1]) o SQL! DELETE WHERE vymaže všechny záznamy v table_1 kde field_1= abc DELETE FROM table_1 WHERE field_1= abc ; vymaže všechny záznamy v table_1 kde ID>10 DELETE FROM table_1 WHERE ID>10;! pokud neexistuje WHERE maže vše v tabulce
Manipulace s daty Úprava záznamů o 4D! ručně z formuláře! programem - mnoho, mnoho možností //Upraví jeden záznam v table_1 Query([table_1];[table_1]ID=1) [table_1]field_1:= def [table_1]field_2:=456 Save Record([table_1]) //Upraví výběr záznamů v table_1 pomocí smyčky For Query([table_1];[table_1]ID<10) For($i;1;Records in selection([table_1])) [table_1]field_1:=uppercase([table_1]field_1) Save Record([table_1]) Next Record([table_1]) End for //Upraví výběr záznamů v table_1 pomocí Apply To Selection (Použít na výběr) Query([table_1];[table_1]ID<10) Apply to selection([table_1];[table_1]field_1:=uppercase([table_1]field_1)
Manipulace s daty Úprava záznamů o SQL! UPDATE WHERE Syntaxe: //Upraví všechny záznamy v table_1 kde field_1= upravovanáhodnota UPDATE table_name SET fieldname1= nováhodnota WHERE field_1= upravovanáhodnota ; Užití: //Upraví všechny záznamy v table_1 kde field_1= abc UPDATE table_1 SET field_1= def WHERE field_1 = abc! Pokud neexistuje WHERE upraví vše
Vztahy 4D ostruktura, automaticky nebo Relate one, Relate many! SQL Join nezasáhne do struktury 4D
Nové příkazy SQL CREATE [OR REPLACE] VIEW [schema_name.]view_name [(column_list)] AS select_statement[;]! DROP VIEW [IF EXISTS] [schema_name.]view_name[;]
Nové příkazy SQL -v14r3 ALTER DATABASE {ENABLE DISABLE} {INDEXES CONSTRAINTS TRIGGERS}
Upravené příkazy SQL ALTER TABLE povolení/zakázání žurnálování tabulky povolení zakázání Autoincrement povolení/zakázání Auto UUID
Optimalizace v14r5 SQL SELECT DISTINCT - 80% rychleji SELECT GROUP BY/ORDER BY - 10x v jedné tabulce o něco méně v složitější struktuře (relace)
Q & A