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 : 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 :
| Whos here now: Members 0 Guests 0 Bots & Crawlers 1 |