Insert

Internφ programovacφ jazykC/C++Pascal

function Insert(curs : tcurstab) : trecnum;
trecnum [cd_]Insert([cdp_t cdp], tcurstab curs);
function [cd_]Insert([cdp : cdp_t]; curs : tcurstab) : trecnum;

Parametry

curs deklarovanß tabulka nebo otev°en² kurzor - viz podrobnosti
[cdp kontextovß prom∞nnß klienta]

Popis

Funkce Insert p°idßvß nov² prßzdn² zßznam k tabulce nebo ke kurzoru curs. P°i vklßdßnφ do tabulky se nov² zßznam p°idß v₧dy na konec tabulky. P°i vklßdßnφ do kurzoru se nov² zßznam objevφ na konci kurzoru, vlo₧en vÜak m∙₧e b²t na mφsto v tabulce volnΘ po smazanΘm a uvoln∞nΘm zßznamu. Nenφ proto zaruΦeno, ₧e Φφslo vlo₧enΘho zßznamu bude v∞tÜφ ne₧ Φφsla ostatnφch (zruÜen²ch i nezruÜen²ch) neuvoln∞n²ch zßznam∙ v tabulce.

Ve funkci Insert nelze pou₧φt kurzor vznikl² spojenφm vφce tabulek nebo needitovateln² kurzor.

V p°idanΘm zßznamu budou vÜechny sloupce mφt hodnoty NONE dle sv²ch typ∙ nebo implicitnφ hodnoty definovanΘ v nßvrhu tabulky.

Je-li v definici tabulky stanoveno, ₧e n∞kter² sloupec nesmφ mφt hodnotu NONE, definujte tΘ₧ implicitnφ hodnotu tohoto sloupce, nebo Insert a zßpis do tohoto sloupce prove∩te v jednΘ transakci. Jsou-li v tabulce definovßna integritnφ omezenφ, bu∩ musφ b²t spln∞na na implicitnφch hodnotßch, anebo jeÜt∞ ve stejnΘ transakci musφ b²t do sloupc∙ zapsßny vyhovujφcφ hodnoty.

Je-li curs pod°φzenß tabulka v referenΦnφ integrit∞, vede zavolßnφ funkce Insert k poruÜenφ pravidel ref. integrity. Prove∩te proto Insert i zßpis do hlφdanΘho sloupce v jednΘ transakci.

Hodnota funkce

Funkce vracφ absolutnφ Φφslo p°idanΘho zßznamu. Toto Φφslo lze pou₧φt pro zßpis do p°idanΘho zßznamu v tabulce resp. kurzoru curs.

Kontrolujte v₧dy v²sledek operace! Pokud se operace neprovede, vracφ se hodnota -1. Povahu chyby lze pak zjistit volßnφm funkce Signalize.

P°φklad

table 
   TAB1;
var
   cislo; 
begin
  cislo := Insert(TAB1);
if cislo <> -1 then 
  TAB1[cislo].jmΘno := "Josef";  
  ... 

Viz