InsertInto (selector)

De Wiki1000
function InsertInto(const iTableName:string; const iInsertColumns:Array of string; const iInsertValues:Array of variant):Integer;

Cette méthode insère les objets de la sélection dans une table temporaire

Paramètre Usage
Result Nombre d'objets affectés par l'opération
iTableName Nom de table temporaire
iInsertColumns Tableau de noms de colonne supplémentaires à insérer
iUpdatePropValues Tableau de valeurs des colonnes supplémentaires

Cette fonction retourne le nombre d'objets insérés par l'opération.

  • iInsertPropnames,iInsertPropValues
Ces deux tableaux doivent avoir le même nombre d'élément
Tip-20px.png Tip : L'opération est effectué par un ordre SQL en mode auto commit, si une transaction longue est ouverte la session de la transaction longue est utilisée.

Exemple :

Type
  IvueSource = interface
    ....
  end;
 
  vueSource = viewOf(AClassSource,iVueSource)
   .... 
  end;
 
  sqlClass = sqlClass(iVue)
  end;
 
var sel:TSelector; aJob,aTempTable1:string; keepTables:boolean;
begin
  Result := FALSE;
  aJob := CreateGuid; 
  keepTables := False; 
 
  sel := vueSource.CreateSelector('','',True,[]);
  sel.useCTE := True; 
  sel.NoFrameworks := True; 
  sel.NoOrderBy := True; 
 
  try
    // Create a Temp table from a source selector
    // 
    aTempTable1 := ClassManager.DefDatabase.AllocTempTable(aJob);
    sel.InsertInto(aTempTable1,[],[]); 
 
    // Use the temp table as source of operation
    // 
    sel := sqlClass.CreateSelector('','',True,[]);
    sel.SourceTableName := aTempTable1;
    ....
 
    ....
  finally
  if not KeepTables then ClassManager.DefDatabase.DropTempTables(aJob); 
  end;
end;


Voir aussi :


Selecteur (tech)Développement DSM





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Outils personnels