"Guy Gasiorowski" <guy.gasiorowski@online.fr> a écrit dans le message de
news:
eTZqEGR3HHA.5796@TK2MSFTNGP05.phx.gbl...
>
>
> "Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
> news: eJI$RFQ3HHA.1188@TK2MSFTNGP04.phx.gbl...
>> Guy Gasiorowski a écrit :
>>
>>> Voici la conclusion de mes recherches :
>>> J'ai fait une procédure stockée mais je ne suis pas plus avancée
>>> CREATE PROCEDURE proc_Archive
>>> AS
>>>
>>> DECLARE @CMD as varchar(512)
>>>
>>> SET @CMD='INSERT INTO VentautoAR.VEHICULE dbo.FN_LISTCOLS(''vehicule'')
>>> SELECT (FN_LISTCOLS(''vehicule'')) FROM Ventauto.VEHICULE RIGHT OUTER
>>> JOIN Ventauto.ARVENDU ON (Ventauto.ARVENDU.pointpst =
>>> Ventauto.VEHICULE.pointpst)'
>>> PRINT @CMD
>>> EXEC(@cmd)
>>> GO
>>>
>>> Un petit coup de main ?
>>> Merci d'avance
>>>
>>>
>>
>> USE VentautoAR;
>>
>> DECLARE @SQL NVARCHAR(4000), @COLS NVARCHAR(4000);
>>
>> SET @COLS = ''
>>
>> -- concaténation des noms des colonnes :
>> SELECT @COLS = @COLS + COLUMN_NAME + ', '
>> FROM INFORMATION_SCHEMA.COLUMNS
>> WHERE TABLE_SCHEMA = 'dbo'
>> AND TABLE_NAME = 'VEHICULE';
>>
>> -- on enlève la dernière virgule parasite
>> SET @COLS = SUBSTRING(@COLS, 1, LEN(@COLS) - 1);
>>
>> -- composition dynamique du SQL
>> SET @SQL = 'INSERT INTO dbo.VEHICULE (' + @COLS + ') '
>> + 'SELECT ' + @COLS +' '
>> + 'FROM dbo.VEHICULE AS V '
>> + ' RIGHT OUTER JOIN dbo.ARVENDU AS A '
>> + ' ON A.pointpst = V.pointpst';
>>
>> -- exécution
>> EXEC(@SQL);
>>
>> Si vous aviez lu les articles que j'ai écrit qui présente le langage
>> Transact SQL sur mon site SQLpro, vous auriez vu une procédure qui
>> ressemble étrangement à cela !
>> http://sqlpro.developpez.com/cours/s...nsactsql/#L4.3
>> procédure SP_SEARCH_STRING_ANYFIELD
>>
>> A +
>>
>> --
>> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
>> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
>> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
>> ********************* http://www.datasapiens.com ***********************
>
> Merci Frédéric,
> Pourtant le site sqlpro est un de mes sites de références pour SQL, J'ai
> cherché mais jamais je n'aurais trouvé dans cette procédure
> (SP_SEARCH_STRING_ANYFIELD)
> En tout cas lerci beaucoup pour la réponse, je vais tester çà.
> a+
> Guy
>
>
Voici la commande insert into générée :
INSERT INTO VentautoAR.dbo.VEHICULE (pointveh, ...) SELECT pointveh, ...
FROM Ventauto.dbo.VEHICULE AS V RIGHT OUTER JOIN Ventauto.dbo.ARVENDU AS ARV
ON ARV.pointpst = V.pointpst
et la commande est correct
Mais il me fait une erreur sur des colonnes ambigus. Ces colonnes sont
celles de la table ARVENDU (pointveh par exemple présent dans les 2 tables).
Comment positionner des alias sur des champs non utilisés ?
Merci d'avance