Bonjour,

Tout d'abord, j'espère que cette question n'a pas été déjà posée et que je ne passe pas trop pour un guignol ... mais j'ai quand même beaucoup cherché sur Google et sur Developpez.com ...

Bref, mon problème c'est que je souhaiterais créer une fonction dans Sql Server 2000 qui me permette de retourner le MAX d'une table, dont le nom et l'identifiant sont passés en paramètre.

Là où çà se complique c'est que je ne vois pas comment organiser la requête interne à cette fonction sachant que le nom de la table et l'identifiant sont reçus comme des variables (varchar(128)) ...

Je vous laisse regarder la fonction que j'ai essayé de créer mais çà ne marche pas ... (au niveau du FROM) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 
CREATE    FUNCTION dbo.fnTableMax(@TableName varchar(128), @TableId varchar(128))
RETURNS int
AS
BEGIN
    DECLARE @Value int
 
    SELECT @Value = MAX(@TableId)+1 
    FROM  INFORMATION_SCHEMA 
    WHERE TABLE_NAME= @TableName
    AND COLUMN_NAME = @TableId
 
    RETURN  @Value
END
Merci de votre attention et de votre aide si possible.

A bientôt !