====== ISQL ====== Spuštění: isql -user sysdba -password heslo "server:c:\adresar\dat\data.fdb" Místo zapisování parametrů user/password v programemch ISQL, GBAK apod. lze použít nastavení proměnných prostředí (viz. následující ukázka pro OS Windows). set ISC_USER=sysdba set ISC_PASSWORD=heslo ===== Některé příkazy programu ===== * show database - informace o připojené databázi * show tables - vypíše seznam všech tabulek v databázi * show table //jméno_tabulky// - vypíše strukturu tabulky * show indices - vypíše seznam všech indexů * show index //jméno_tabulky// - vypíše indexy dané tabulky * alter index //jméno_indexu// inactive - deaktivace indexu * alter index //jméno_indexu// active - aktivace indexu Příkazy pro definici dat: CREATE, ALTER, DROP, GRANT, REVOKE Příkazy pro manipulaci s daty: SELECT, INSERT, UPDATE, DELETE Všechny příkazy je třeba ukončit znakem středník (např.: show database;) ===== Příklad tvorby tabulky do externího souboru ===== create table ext_cenik external file 'c:\fbdata\cenik.txt' ( idcen varchar(15), popis varchar(60), mj varchar(4), objcis varchar(30), cisrozp varchar(15), minut float, cena float, naklady float); Příklad přidání sloupečku 'v_vyridil' do tabulky 'partneri_partneri' alter table partneri_partneri add v_vyridil VARCHAR(8); Každý příkaz v programu //isql// musí být zakončen //středníkem//. ===== Transakce ===== set transaction read committed; ===== How to activate all indexes? ===== SET HEADING OFF; OUT tmp.sql; select 'GRANT ALL ON '||rdb$relation_name||' TO some_user;' from rdb$relations where rdb$system_flag is null or rdb$system_flag = 0; OUT; INPUT tmp.sql; COMMIT; SET TERM !! ; EXECUTE BLOCK AS DECLARE VARIABLE stmt VARCHAR(1000); BEGIN for select 'ALTER INDEX '||rdb$index_name ||' ACTIVE;' from rdb$indices where (rdb$system_flag is null or rdb$system_flag = 0) order by rdb$foreign_key nulls first into :stmt do EXECUTE STATEMENT :stmt; END!! SET TERM ; !!