Je suis une recrue dans l'écriture de procédure stockée SQL en utilisant C#. Juste errant est-il possible de créer une méthode générale qui sera appelée dans la procédure stockée dans le même script?procédure stockée C# SQL
Répondre
Vous pouvez créer un UDF dans la procédure stockée qui exécute basée sur un paramètre envoyé à la procédure stockée:
C.-À (dans votre SP)
DECLARE @var1 int
IF @param1 = 1 THEN
SELECT @var1 = dbo.fn_MyUDF(@params)
END IF
Voici une page pour commencer using Sql Server stored procs for the CLR.
Et voici un Hello World example pour vous aider à démarrer. L'idée est que vous écrivez une logique complexe en utilisant un langage orienté objet de plus haut niveau, puis que de simples appels provenant de vos process stockés dans Sql Server exécutent cette logique dans le CLR.
La procédure CLR est comme n'importe quelle autre procédure stockée, et il en va de même pour les fonctions. Une fois déployés dans la base de données, ils sont accessibles à votre script et à vos requêtes. Disons que vous créez une méthode C# dans une classe:
class Foo
{
public static void Bar()
{
// Awesome code goes here
}
}
Vous pouvez compiler cette classe dans une DLL d'assemblage, dites MyClasses.DLL, puis chargez le aseembly dans la base de données en utilisant CREATE ASSEMBLY MyClasses FROM
, déclarer la procédure avec CREATE PROCEDURE Bar EXTERNAL MyClasses.Foo.Bar
. alors votre script peut simplement appeler la procédure avec EXEC Bar;
.
Visual Studio peut simplifier tout ce processus, le type de projet SQL Server peut déployer l'assembly et déclarer les types de procédures/fonctions/données contenus.
Il y a plus de détails une fois que vous commencez à digg dans, comme l'utilisation correcte des attributs comme SqlProcedureAttribute ou SqlFunctionAttribute dans votre code C# etc etc
Pour commencer, je vous recommande des articles MSDN comme Using CLR Integration in SQL Server 2005, Common Language Runtime (CLR) Integration Programming Concepts et jetez un oeil aux échantillons dans Usage Scenarios and Examples for Common Language Runtime (CLR) Integration.
- 1. Déployer une procédure stockée SQL en C#
- 2. Procédure stockée SQL Question
- 3. serveur Sql procédure stockée
- 4. Procédure stockée SQL Server
- 5. MS SQL procédure stockée problème
- 6. Travail SQL et procédure stockée
- 7. LINQ to SQL (procédure stockée)
- 8. SQL procédure stockée: Heures d'ouverture
- 9. Procédure stockée SQL Server 2008
- 10. sql procédure stockée paramètre problème
- 11. Dynamic SQL Server procédure stockée
- 12. signifie SQL Server procédure stockée
- 13. SQL boucles procédure stockée question du serveur
- 14. Contrôle de plusieurs sorties de procédure stockée SQL en C#
- 15. Appel asynchrone d'une procédure stockée SQL Server dans C#
- 16. SQL DateTimes De Linq C# à Procédure stockée
- 17. Oracle procédure stockée étendue avec C++
- 18. Procédure stockée exécutant une autre procédure stockée
- 19. Sql Agréger les résultats d'une procédure stockée
- 20. Asp.net MVC avec SQL Server procédure stockée
- 21. SQL Server 2005 requête XML procédure stockée
- 22. T-SQL erreur de procédure stockée
- 23. boucle T-SQL dans une procédure stockée
- 24. SQL Tout en ralentissant la procédure stockée
- 25. '1 = 1' dans SQL procédure stockée
- 26. Procédure stockée SQL Rejoindre la question
- 27. Problème avec la procédure stockée SQL
- 28. procédure stockée t-sql créer des scripts
- 29. Quand une procédure stockée recompiler? (Sql Server)
- 30. SQL Server - SELECT de la procédure stockée
Quel est votre serveur Sql (MySQL, Microsoft Sql Server, Oracle, etc.)? et parlez-vous d'appeler une méthode C# à partir d'une instruction SQL? Cela n'est pas possible sans un hackery extrême. – Earlz
Sql Server 2005+ permet en fait un accès rapide au .NET CLR et rend l'appel de code externe plutôt trivial. –
oh .. hmm .. ne me dérange pas alors lol – Earlz