O2SS0359: Impossible d'obtenir la description du type de retour de l'expression d'appel de fonction (erreur) – SQL Server – Bien choisir son serveur d impression
Author: Titanfall —
Short summary: 22/01/2020 3 minutes de lecture Dans cet article <! – -> Cet article explique pourquoi l'Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d'enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n'est pas en mesure de convertir le jeu d'enregistrements […]
Quick overview
- Site
- Tutos GameServer
- Canonical URL
- https://tutos-gameserver.fr/2020/02/23/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression/
- LLM HTML version
- https://tutos-gameserver.fr/2020/02/23/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression/llm
- LLM JSON version
- https://tutos-gameserver.fr/2020/02/23/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression/llm.json
- Manifest
- https://tutos-gameserver.fr/llm-endpoints-manifest.json
- Estimated reading time
- 6 minutes (315 seconds)
- Word count
- 1047
Key points
- 22/01/2020 3 minutes de lecture Dans cet article <!
- – -> Cet article explique pourquoi l'Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d'enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n'est pas en mesure de convertir le jeu d'enregistrements qui est renvoyé par la fonction.
- ContexteContexte Une fonction est un bloc de code qui exécute une tâche particulière, puis renvoie le contrôle au code appelant.Une fonction est un bloc de code qui exécute une tâche particulière, puis renvoie le contrôle au code appelant.
- Lorsqu'il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu'il renvoie le contrôle, il renvoie également une valeur au code appelant.
Primary visual
Structured content
22/01/2020 3 minutes de lecture
Dans cet article
<! – -> Cet article explique pourquoi l'Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d'enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n'est pas en mesure de convertir le jeu d'enregistrements qui est renvoyé par la fonction. ContexteContexte Une fonction est un bloc de code qui exécute une tâche particulière, puis renvoie le contrôle au code appelant.Une fonction est un bloc de code qui exécute une tâche particulière, puis renvoie le contrôle au code appelant. Lorsqu'il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu'il renvoie le contrôle, il renvoie également une valeur au code appelant. Lorsqu'une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l'appelant de la fonction, après avoir été implicitement convertie en type de retour de la fonction dans laquelle elle a été définie.Lorsqu'une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l'appelant de la fonction, après avoir été implicitement convertie en type de retour de la fonction dans laquelle elle a été définie. Chaque fois que vous appelez une fonction qui renvoie un enregistrement dans une autre procédure, SSMA ne parvient pas à résoudre ce type de données.Chaque fois que vous appelez une fonction qui renvoie un enregistrement dans une autre procédure, SSMA n'est pas en mesure de résoudre ce type de données. Par conséquent, lorsque vous essayez d'utiliser ce jeu d'enregistrements dans la procédure appelée, SSMA génère un message d'erreur.Par conséquent, lorsque vous essayez d'utiliser cet ensemble d'enregistrements dans votre procédure appelée, SSMA génère un message d'erreur. Exempleexemple Prenons l'exemple ci-dessous, dans lequel nous avons print_empcréé une procédure, dans laquelle nous appelons get_employeeTbl une autre fonction qui renvoie un enregistrement.Considérez l'exemple ci-dessous dans lequel nous avons créé une procédure print_emp, dans laquelle nous appelons une autre fonction get_employeeTbl qui renvoie un record. CRÉER OU REMPLACER LA PROCÉDURE print_emp (p_empl_no dans le type emp.empno%) COMME Proc_Table emp% rowtype; COMMENCER Proc_Table: = get_employeeTbl (p_empl_no);
dbms_output.put_line (Proc_Table.empno); dbms_output.put_line (Proc_Table.ename); dbms_output.put_line (Proc_Table.job); dbms_output.put_line (Proc_Table.mgr); dbms_output.put_line (Proc_Table.hiredate); dbms_output.put_line (Proc_Table.sal); dbms_output.put_line (Proc_Table.comm); dbms_output.put_line (Proc_Table.deptno); FIN; /
CRÉER OU REMPLACER LA FONCTION get_employeeTbl (p_empl_no dans le type emp.empno%) RETURN emp% rowtype COMME l_cust_record emp% rowtype; COMMENCER SELECT * INTO l_cust_record DE emp OERE empno = p_empl_no;
RETOUR (l_cust_record); FIN;
Lorsque SSMA tente de convertir le code ci-dessus à partir de print_empla principale procédure qu'il ne résout pas get_emploreeTbl opérations de la fonction appelée qui renvoie un enregistrement et génère donc le message d'erreur suivant:Lorsque SSMA essaie de convertir le code ci-dessus de la procédure principale print_emp, il ne résout pas les opérations de la fonction appelée get_emploreeTbl qui renvoie un enregistrement et génère donc le message d'erreur suivant:
O2SS0359: impossible d'obtenir la description du type de retour de l'expression d'appel de fonctionO2SS0359: Impossible d'obtenir la description du type de retour de l'expression d'appel de fonction
Solutions possiblesRemèdes possibles La solution à l'erreur ci-dessus consiste à réécrire le code dans SQL Server.La solution de l'erreur ci-dessus consiste à réécrire le code dans SQL Server. Étant donné que SQL Server prend en charge les fonctions scalaires, les fonctions de table en ligne et les fonctions de table à instructions multiples, vous pouvez déclarer un @ma table table temporaire dans le code T-SQL de la fonction appelée.Comme SQL Server prend en charge les fonctions scalaires, les fonctions de table en ligne et les fonctions de table multi-instructions, vous pouvez déclarer une table temporaire @ma table dans le code T-SQL de la fonction appelée. Dans le code, vous remplissez cette table en utilisant la même logique métier, puis renvoyez cette table à l'environnement appelant.Dans le code, vous remplissez ce tableau en utilisant la même logique métier, puis renvoyez ce tableau à l'environnement appelant. Dans la procédure d'appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d'enregistrements dans notre cas) de la fonction appelée.Dans la procédure d'appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d'enregistrements dans notre cas) de la fonction appelée. Voici le code réécrit pour l'exemple ci-dessus:Voici le code réécrit pour l'exemple ci-dessus: CRÉER UNE PROCÉDURE [dbo].[PRINT_EMP](@p_empl_no Int) COMME COMMENCER DÉCLARÉ @Proc_table TABLE ( EMPNO int, ENAME varchar (max), JOB varchar (max), Flotteur MGR, HIREDATE datetime, Flotteur SAL, Flotteur COMM, Flotteur DEPTNO );
INSÉRER DANS @Proc_table (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) SELECT * FROM dbo.GET_EMPLOYEETBL (@p_empl_no)
SELECT * FROM @Proc_table FIN ALLER
CRÉER UNE FONCTION [dbo].[GET_EMPLOYEETBL](@p_empl_no Int) RETOURS @mytable TABLE ( EMPNO int, ENAME varchar (max), JOB varchar (max), Flotteur MGR, HIREDATE datetime, Flotteur SAL, Flotteur COMM, Flotteur DEPTNO ) COMME COMMENCER INSÉRER DANS @mytable (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) SELECT EMP.EMPNO, EMP.ENAME, EMP.JOB, EMP.MGR, EMP.HIREDATE, EMP.SAL, EMP.COMM, EMP.DEPTNO DE dbo.EMP OERE EMP.EMPNO = @p_empl_no
REVENIR FIN
O2SS0380: impossible de convertir la fonction avec le type de retour d'enregistrementO2SS0380: Impossible de convertir la fonction avec le type de retour d'enregistrement
<! – -> Click to rate this post! [Total: 0 Average: 0]
Topics and keywords
Themes: Serveur d'impression
License & attribution
License: CC BY-ND 4.0.
Attribution required: yes.
Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json
LLM Endpoints plugin version 1.1.2.