Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

L'argument * dans une fonction perso...

1 réponse
Avatar
MyKael
Bonjour,

j'ai créé une fonction dans SQL Server qui me recombine tout les champs
d'une table pour me retourner le tout sous forme binaire.

Le problème c'est que je voudrais bien utiliser ma fonction dans une requête
en lui passant comme argument * au lieu de passer tous les champs 1 par 1.
Par exemple :
SELECT BINARY_T20(*) FROM T20
au lieu de
SELECT BINARY_T20(TEST1,TEST2,TEST3,TEST4,TEST5....)

sachant que ma fonction ne doit pas être générique pour toute les tables,
mais uniquement pour une table donnée dont tous les champs sont déterminé !

Merci d'avance,

A+

PS : Si il existe une fonction toute faite qui fait ce que je veux faire,
n'hésitez pas ;)

1 réponse

Avatar
Fred BROUARD
il suffit de passer par les vues d'information de schema pour obtenir
une concaténation des nom des colonnes d'une table.

Exemple :

CREATE FUNCTION FN_LISTCOLS (@NOM_TABLE VARCHAR(128))
RETURNS VARCHAR(8000) AS
BEGIN
DECLARE @RETVAL VARCHAR(8000)
SET @RETVAL = ''
SELECT @RETVAL = @RETVAL +COLUMN_NAME+', '
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @NOM_TABLE
IF @RETVAL IS NULL
RETURN NULL
IF @RETVAL = ''
RETURN NULL
SET @RETVAL = SUBSTRING(@RETVAL, 1, LEN(@RETVAL) -1)
RETURN @RETVAL
END


A lire sur le sujet :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA9

A +

MyKael a écrit:
Bonjour,

j'ai créé une fonction dans SQL Server qui me recombine tout les champs
d'une table pour me retourner le tout sous forme binaire.

Le problème c'est que je voudrais bien utiliser ma fonction dans une requête
en lui passant comme argument * au lieu de passer tous les champs 1 par 1.
Par exemple :
SELECT BINARY_T20(*) FROM T20
au lieu de
SELECT BINARY_T20(TEST1,TEST2,TEST3,TEST4,TEST5....)

sachant que ma fonction ne doit pas être générique pour toute les tables,
mais uniquement pour une table donnée dont tous les champs sont déterminé !

Merci d'avance,

A+

PS : Si il existe une fonction toute faite qui fait ce que je veux faire,
n'hésitez pas ;)





--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************