Bonjour à tous, Besoin d'un p'tit coup e demain pour le script joint. Certains des 'programmes' que j'extraits (un trigger en l'occurence) est tronqué. Pourtant j'utilise un type de donnée assez large (varchar(max)).
Y'a un truc que j'ai oublié ? qui est mal codé ?
merci par avance
Stéphane
Mon code :
declare @id_objet varchar(30)
DECLARE @progPart varchar(4000)
DECLARE @progCorps varchar(max)
DECLARE @progNom varchar(128)
declare c_objet cursor for
select id, name from sysobjects where type IN ('TR', 'FN','P')
open c_objet
fetch c_objet into @id_objet, @progNom
while @@fetch_status=0
BEGIN
set @progCorps = ' '
DECLARE c_part CURSOR for
select text from syscomments where id = @id_objet ORDER BY colid
PRINT '--------------------------------------------------------------------------------'
PRINT LEFT('-- Creation de ' + rtrim(@progNom) + ' ------------------------------------------------------------',80)
PRINT '--------------------------------------------------------------------------------'
OPEN c_part
FETCH c_part INTO @progPart
while @@fetch_status=0
BEGIN
SET @progCorps = @progCorps + @progPart
FETCH c_part INTO @progPart
END
CLOSE c_part
DEALLOCATE c_part
PRINT '-- TAILLE = ' + rtrim(convert(char,len(rtrim(@progCorps)))) + ' caractères'
PRINT ''
PRINT rtrim(@progCorps)
PRINT ''
PRINT 'GO'
PRINT ''
fetch c_objet into @id_objet, @progNom
end
close c_objet
deallocate c_objet