J'essaye de mettre à jour des données de colonnes de sum comme ceci:
update tableName set score = myFunction(tableName.id)
Dans d'autres mains, je veux avoir une table comme celle-ci:
column1 | column2 ------------------------------ id1 | myFunction(id1) id2 | myFunction(id2) id3 | myFunction(id3) id4 | myFunction(id4)
J'ai défini myFunction
comme une fonction scalaire. J'ai également essayé en tant que fonction de table, mais je vois cette erreur dans SQL Server 2012:
Msg 195, niveau 15, état 10, ligne 14
'myFunction' n'est pas un nom de fonction embedded reconnu.
- Sélectionnez Différence minimale de résumé de deux colonnes dans T-SQL
- Recherche database SQL en utilisant la list déroulante select?
- Souhaite supprimer les résultats de SQL Select Query
- SqlDataAdapter.Fill (DataTable) ne remplit pas DataTable
- SQL Sélectionnez random parmi plusieurs tables et commandz selon des critères spécifiques sur une table
Aidez-moi, s'il vous plaît
Essayez d'utiliser le nom complet de la fonction, y compris le nom de la database et du schéma:
update tableName set score = <database>.<schema>.myFunction(tableName.id)
Je pense que seul le nom du schéma est nécessaire, mais j'ai pris l'habitude de mettre les deux.
La documentation explique qu'au less le nom de deux parties est nécessaire. Si vous ne savez pas quel est le schéma, alors ce qui suit fonctionnera probablement:
update tableName set score = dbo.myFunction(tableName.id)