0
votes

Obtenir le nom de la table de la fonction

Je crée des tables. Les noms de table sont créés de manière dynamique.

Les analystes disent qu'ils ont besoin d'un champ appelé «Dataset» contenant le nom de la table.

Longue histoire Pourquoi ils le veulent, apparemment c'est un casse-tue si Ce n'est pas là.

Je pensais donc à ajouter une colonne calculée le long des lignes de xxx

Je connais des fonctions db_user ( ) , @@ ServerName et ainsi de suite, y a-t-il quelque chose comme ça pour la table? Par exemple, actuel_table () ?

Étant donné que je crée les tables dynamiquement, il est assez facile d'ajouter la colonne et de le remplir lors de la création, mais cette question est apparue et ça continue de vous déranger.


1 commentaires

Non, il n'y a pas. Et je ne peux pas imaginer pourquoi ils ont besoin de le faire. Vous pouvez utiliser une colonne calculée comme suit: jeu de données comme "test"


3 Réponses :


1
votes

Dans la création de table dynamique, nom de table d'une chaîne. Vous pouvez utiliser la même chaîne pour attribuer le nom de la table à la valeur du jeu de données à l'aide de la contrainte par défaut. xxx


0 commentaires

1
votes

Il n'y a pas de cette fonction de ce type. Il existe un moyen d'atteindre votre objectif en utilisant une colonne calculée cependant. Comme ceci: xxx

C2 est une colonne calculée qui renvoie simplement une constante, qui étant le nom de la table.


0 commentaires

1
votes

Sans surprise, il semble qu'il n'y ait aucune fonction qui renvoie une nappe-table. Donc j'ai fait ce que je fais normalement dans un tel cas, créez le tabel dynamiquement à l'aide de sp_executesql et une chaîne que je construis, y compris c2 = @vartable_name. XXX Je me demandais s'il y avait un fonction que je pourrais utiliser au lieu du var @table_name


1 commentaires

Cela fonctionnera si vos tables ne disposent pas de caractères ou d'espaces spéciaux. Si vous êtes la personne qui contrôle les nommer, cela ne devrait pas être un problème. Si vous n'êtes pas, vous devriez rechercher avec Nom du quotidien pour créer la table (dans Dynamic SQL, vous devez toujours l'utiliser en fait). Je supposerai que personne n'est aussi stupide d'utiliser des guillemets simples dans leurs noms de table ;-)