{"version":"1.1","schema_version":"1.1.0","plugin_version":"1.1.2","url":"https://tutos-gameserver.fr/2020/02/25/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression-2/","llm_html_url":"https://tutos-gameserver.fr/2020/02/25/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression-2/llm","llm_json_url":"https://tutos-gameserver.fr/2020/02/25/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression-2/llm.json","manifest_url":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","language":"fr-FR","locale":"fr_FR","title":"O2SS0359: Impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonction (erreur) &#8211; SQL Server\n\n &#8211; Bien choisir son serveur d impression","site":{"name":"Tutos GameServer","url":"https://tutos-gameserver.fr/"},"author":{"id":1,"name":"Titanfall","url":"https://tutos-gameserver.fr/author/titanfall/"},"published_at":"2020-02-25T17:17:12+00:00","modified_at":"2020-02-25T17:17:12+00:00","word_count":1047,"reading_time_seconds":315,"summary":"22/01/2020 3 minutes de lecture Dans cet article &lt;! &#8211; -&gt; Cet article explique pourquoi l&#39;Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d&#39;enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n&#39;est pas en mesure de convertir le jeu d&#39;enregistrements [&hellip;]","summary_points":["22/01/2020\n\t\t\t\t\t\t\t\n3 minutes de lecture\n\n\t\t\t\t\t\t\t\t\n\n\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\nDans cet article\n\n\t\t\t\t\t\t&lt;!","&#8211;  -&gt;\nCet article explique pourquoi l&#39;Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d&#39;enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n&#39;est pas en mesure de convertir le jeu d&#39;enregistrements qui est renvoyé par la fonction.","ContexteContexte\nUne 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&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant."],"topics":["Serveur d'impression"],"entities":[],"entities_metadata":[{"id":10,"name":"Serveur d'impression","slug":"serveur-dimpression","taxonomy":"category","count":3907,"url":"https://tutos-gameserver.fr/category/serveur-dimpression/"}],"tags":["Serveur d'impression"],"content_hash":"2ba6dcdacb7d927421bb6fd8fa22fb7c","plain_text":"22/01/2020\n\t\t\t\t\t\t\t\n3 minutes de lecture\n\n\t\t\t\t\t\t\t\t\n\n\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\nDans cet article\n\n\t\t\t\t\t\t&lt;! &#8211;  -&gt;\nCet article explique pourquoi l&#39;Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d&#39;enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n&#39;est pas en mesure de convertir le jeu d&#39;enregistrements qui est renvoyé par la fonction.\nContexteContexte\nUne 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&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant. Lorsqu&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;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&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;appelant de la fonction, après avoir été implicitement convertie en type de retour de la fonction dans laquelle elle a été définie.\nChaque 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&#39;est pas en mesure de résoudre ce type de données. Par conséquent, lorsque vous essayez d&#39;utiliser ce jeu d&#39;enregistrements dans la procédure appelée, SSMA génère un message d&#39;erreur.Par conséquent, lorsque vous essayez d&#39;utiliser cet ensemble d&#39;enregistrements dans votre procédure appelée, SSMA génère un message d&#39;erreur.\nExempleexemple\nPrenons l&#39;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&#39;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.\nCRÉER OU REMPLACER LA PROCÉDURE print_emp (p_empl_no dans le type emp.empno%)\nCOMME\nProc_Table emp% rowtype;\nCOMMENCER\nProc_Table: = get_employeeTbl (p_empl_no);\n\ndbms_output.put_line (Proc_Table.empno);\ndbms_output.put_line (Proc_Table.ename);\ndbms_output.put_line (Proc_Table.job);\ndbms_output.put_line (Proc_Table.mgr);\ndbms_output.put_line (Proc_Table.hiredate);\ndbms_output.put_line (Proc_Table.sal);\ndbms_output.put_line (Proc_Table.comm);\ndbms_output.put_line (Proc_Table.deptno);\nFIN;\n/\n\nCRÉER OU REMPLACER LA FONCTION get_employeeTbl (p_empl_no dans le type emp.empno%)\nRETURN emp% rowtype\nCOMME\nl_cust_record emp% rowtype;\nCOMMENCER\nSELECT *\nINTO l_cust_record\nDE emp\nOERE empno = p_empl_no;\n\nRETOUR (l_cust_record);\nFIN;\n\nLorsque SSMA tente de convertir le code ci-dessus à partir de print_empla principale procédure qu&#39;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&#39;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&#39;erreur suivant:\n\nO2SS0359: impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonctionO2SS0359: Impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonction\n\nSolutions possiblesRemèdes possibles\nLa solution à l&#39;erreur ci-dessus consiste à réécrire le code dans SQL Server.La solution de l&#39;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&#39;environnement appelant.Dans le code, vous remplissez ce tableau en utilisant la même logique métier, puis renvoyez ce tableau à l&#39;environnement appelant. Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.\nVoici le code réécrit pour l&#39;exemple ci-dessus:Voici le code réécrit pour l&#39;exemple ci-dessus:\nCRÉER UNE PROCÉDURE [dbo].[PRINT_EMP](@p_empl_no Int)\nCOMME\nCOMMENCER\nDÉCLARÉ\n@Proc_table TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n);\n\nINSÉRER DANS @Proc_table (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)\nSELECT * FROM dbo.GET_EMPLOYEETBL (@p_empl_no)\n\nSELECT * FROM @Proc_table\nFIN\nALLER\n\nCRÉER UNE FONCTION [dbo].[GET_EMPLOYEETBL](@p_empl_no Int)\nRETOURS @mytable TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n)\nCOMME\nCOMMENCER\nINSÉRER DANS @mytable (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) SELECT\nEMP.EMPNO,\nEMP.ENAME,\nEMP.JOB,\nEMP.MGR,\nEMP.HIREDATE,\nEMP.SAL,\nEMP.COMM,\nEMP.DEPTNO\nDE\ndbo.EMP\nOERE EMP.EMPNO = @p_empl_no\n\nREVENIR\nFIN\n\n\nO2SS0380: impossible de convertir la fonction avec le type de retour d&#39;enregistrementO2SS0380: Impossible de convertir la fonction avec le type de retour d&#39;enregistrement\n\n\t\t\t\t\t\t&lt;! &#8211;  -&gt;\nClick to rate this post!\r\n                                   \r\n                               [Total: 0  Average: 0]","paragraphs":["22/01/2020\n\t\t\t\t\t\t\t\n3 minutes de lecture","Dans cet article","&lt;! &#8211;  -&gt;\nCet article explique pourquoi l&#39;Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d&#39;enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n&#39;est pas en mesure de convertir le jeu d&#39;enregistrements qui est renvoyé par la fonction.\nContexteContexte\nUne 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&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant. Lorsqu&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;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&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;appelant de la fonction, après avoir été implicitement convertie en type de retour de la fonction dans laquelle elle a été définie.\nChaque 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&#39;est pas en mesure de résoudre ce type de données. Par conséquent, lorsque vous essayez d&#39;utiliser ce jeu d&#39;enregistrements dans la procédure appelée, SSMA génère un message d&#39;erreur.Par conséquent, lorsque vous essayez d&#39;utiliser cet ensemble d&#39;enregistrements dans votre procédure appelée, SSMA génère un message d&#39;erreur.\nExempleexemple\nPrenons l&#39;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&#39;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.\nCRÉER OU REMPLACER LA PROCÉDURE print_emp (p_empl_no dans le type emp.empno%)\nCOMME\nProc_Table emp% rowtype;\nCOMMENCER\nProc_Table: = get_employeeTbl (p_empl_no);","dbms_output.put_line (Proc_Table.empno);\ndbms_output.put_line (Proc_Table.ename);\ndbms_output.put_line (Proc_Table.job);\ndbms_output.put_line (Proc_Table.mgr);\ndbms_output.put_line (Proc_Table.hiredate);\ndbms_output.put_line (Proc_Table.sal);\ndbms_output.put_line (Proc_Table.comm);\ndbms_output.put_line (Proc_Table.deptno);\nFIN;\n/","CRÉER OU REMPLACER LA FONCTION get_employeeTbl (p_empl_no dans le type emp.empno%)\nRETURN emp% rowtype\nCOMME\nl_cust_record emp% rowtype;\nCOMMENCER\nSELECT *\nINTO l_cust_record\nDE emp\nOERE empno = p_empl_no;","RETOUR (l_cust_record);\nFIN;","Lorsque SSMA tente de convertir le code ci-dessus à partir de print_empla principale procédure qu&#39;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&#39;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&#39;erreur suivant:","O2SS0359: impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonctionO2SS0359: Impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonction","Solutions possiblesRemèdes possibles\nLa solution à l&#39;erreur ci-dessus consiste à réécrire le code dans SQL Server.La solution de l&#39;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&#39;environnement appelant.Dans le code, vous remplissez ce tableau en utilisant la même logique métier, puis renvoyez ce tableau à l&#39;environnement appelant. Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.\nVoici le code réécrit pour l&#39;exemple ci-dessus:Voici le code réécrit pour l&#39;exemple ci-dessus:\nCRÉER UNE PROCÉDURE [dbo].[PRINT_EMP](@p_empl_no Int)\nCOMME\nCOMMENCER\nDÉCLARÉ\n@Proc_table TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n);","INSÉRER DANS @Proc_table (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)\nSELECT * FROM dbo.GET_EMPLOYEETBL (@p_empl_no)","SELECT * FROM @Proc_table\nFIN\nALLER","CRÉER UNE FONCTION [dbo].[GET_EMPLOYEETBL](@p_empl_no Int)\nRETOURS @mytable TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n)\nCOMME\nCOMMENCER\nINSÉRER DANS @mytable (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) SELECT\nEMP.EMPNO,\nEMP.ENAME,\nEMP.JOB,\nEMP.MGR,\nEMP.HIREDATE,\nEMP.SAL,\nEMP.COMM,\nEMP.DEPTNO\nDE\ndbo.EMP\nOERE EMP.EMPNO = @p_empl_no","REVENIR\nFIN","O2SS0380: impossible de convertir la fonction avec le type de retour d&#39;enregistrementO2SS0380: Impossible de convertir la fonction avec le type de retour d&#39;enregistrement","&lt;! &#8211;  -&gt;\nClick to rate this post!\n                                   \n                               [Total: 0  Average: 0]"],"content_blocks":[{"id":"text-1","type":"text","heading":"","plain_text":"22/01/2020\n\t\t\t\t\t\t\t\n3 minutes de lecture","html":"<p>22/01/2020\n\t\t\t\t\t\t\t\n3 minutes de lecture</p>"},{"id":"text-2","type":"text","heading":"","plain_text":"Dans cet article","html":"<p>Dans cet article</p>"},{"id":"text-3","type":"text","heading":"","plain_text":"&lt;! &#8211;  -&gt;\nCet article explique pourquoi l&#39;Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d&#39;enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n&#39;est pas en mesure de convertir le jeu d&#39;enregistrements qui est renvoyé par la fonction.\nContexteContexte\nUne 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&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant. Lorsqu&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;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&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;appelant de la fonction, après avoir été implicitement convertie en type de retour de la fonction dans laquelle elle a été définie.\nChaque 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&#39;est pas en mesure de résoudre ce type de données. Par conséquent, lorsque vous essayez d&#39;utiliser ce jeu d&#39;enregistrements dans la procédure appelée, SSMA génère un message d&#39;erreur.Par conséquent, lorsque vous essayez d&#39;utiliser cet ensemble d&#39;enregistrements dans votre procédure appelée, SSMA génère un message d&#39;erreur.\nExempleexemple\nPrenons l&#39;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&#39;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.\nCRÉER OU REMPLACER LA PROCÉDURE print_emp (p_empl_no dans le type emp.empno%)\nCOMME\nProc_Table emp% rowtype;\nCOMMENCER\nProc_Table: = get_employeeTbl (p_empl_no);","html":"<p>&lt;! &#8211;  -&gt;\nCet article explique pourquoi l&#039;Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d&#039;enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n&#039;est pas en mesure de convertir le jeu d&#039;enregistrements qui est renvoyé par la fonction.\nContexteContexte\nUne 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&#039;il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu&#039;il renvoie le contrôle, il renvoie également une valeur au code appelant. Lorsqu&#039;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#039;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&#039;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#039;appelant de la fonction, après avoir été implicitement convertie en type de retour de la fonction dans laquelle elle a été définie.\nChaque 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&#039;est pas en mesure de résoudre ce type de données. Par conséquent, lorsque vous essayez d&#039;utiliser ce jeu d&#039;enregistrements dans la procédure appelée, SSMA génère un message d&#039;erreur.Par conséquent, lorsque vous essayez d&#039;utiliser cet ensemble d&#039;enregistrements dans votre procédure appelée, SSMA génère un message d&#039;erreur.\nExempleexemple\nPrenons l&#039;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&#039;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.\nCRÉER OU REMPLACER LA PROCÉDURE print_emp (p_empl_no dans le type emp.empno%)\nCOMME\nProc_Table emp% rowtype;\nCOMMENCER\nProc_Table: = get_employeeTbl (p_empl_no);</p>"},{"id":"text-4","type":"text","heading":"","plain_text":"dbms_output.put_line (Proc_Table.empno);\ndbms_output.put_line (Proc_Table.ename);\ndbms_output.put_line (Proc_Table.job);\ndbms_output.put_line (Proc_Table.mgr);\ndbms_output.put_line (Proc_Table.hiredate);\ndbms_output.put_line (Proc_Table.sal);\ndbms_output.put_line (Proc_Table.comm);\ndbms_output.put_line (Proc_Table.deptno);\nFIN;\n/","html":"<p>dbms_output.put_line (Proc_Table.empno);\ndbms_output.put_line (Proc_Table.ename);\ndbms_output.put_line (Proc_Table.job);\ndbms_output.put_line (Proc_Table.mgr);\ndbms_output.put_line (Proc_Table.hiredate);\ndbms_output.put_line (Proc_Table.sal);\ndbms_output.put_line (Proc_Table.comm);\ndbms_output.put_line (Proc_Table.deptno);\nFIN;\n/</p>"},{"id":"text-5","type":"text","heading":"","plain_text":"CRÉER OU REMPLACER LA FONCTION get_employeeTbl (p_empl_no dans le type emp.empno%)\nRETURN emp% rowtype\nCOMME\nl_cust_record emp% rowtype;\nCOMMENCER\nSELECT *\nINTO l_cust_record\nDE emp\nOERE empno = p_empl_no;","html":"<p>CRÉER OU REMPLACER LA FONCTION get_employeeTbl (p_empl_no dans le type emp.empno%)\nRETURN emp% rowtype\nCOMME\nl_cust_record emp% rowtype;\nCOMMENCER\nSELECT *\nINTO l_cust_record\nDE emp\nOERE empno = p_empl_no;</p>"},{"id":"text-6","type":"text","heading":"","plain_text":"RETOUR (l_cust_record);\nFIN;","html":"<p>RETOUR (l_cust_record);\nFIN;</p>"},{"id":"text-7","type":"text","heading":"","plain_text":"Lorsque SSMA tente de convertir le code ci-dessus à partir de print_empla principale procédure qu&#39;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&#39;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&#39;erreur suivant:","html":"<p>Lorsque SSMA tente de convertir le code ci-dessus à partir de print_empla principale procédure qu&#039;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&#039;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&#039;erreur suivant:</p>"},{"id":"text-8","type":"text","heading":"","plain_text":"O2SS0359: impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonctionO2SS0359: Impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonction","html":"<p>O2SS0359: impossible d&#039;obtenir la description du type de retour de l&#039;expression d&#039;appel de fonctionO2SS0359: Impossible d&#039;obtenir la description du type de retour de l&#039;expression d&#039;appel de fonction</p>"},{"id":"text-9","type":"text","heading":"","plain_text":"Solutions possiblesRemèdes possibles\nLa solution à l&#39;erreur ci-dessus consiste à réécrire le code dans SQL Server.La solution de l&#39;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&#39;environnement appelant.Dans le code, vous remplissez ce tableau en utilisant la même logique métier, puis renvoyez ce tableau à l&#39;environnement appelant. Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.\nVoici le code réécrit pour l&#39;exemple ci-dessus:Voici le code réécrit pour l&#39;exemple ci-dessus:\nCRÉER UNE PROCÉDURE [dbo].[PRINT_EMP](@p_empl_no Int)\nCOMME\nCOMMENCER\nDÉCLARÉ\n@Proc_table TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n);","html":"<p>Solutions possiblesRemèdes possibles\nLa solution à l&#039;erreur ci-dessus consiste à réécrire le code dans SQL Server.La solution de l&#039;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&#039;environnement appelant.Dans le code, vous remplissez ce tableau en utilisant la même logique métier, puis renvoyez ce tableau à l&#039;environnement appelant. Dans la procédure d&#039;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#039;enregistrements dans notre cas) de la fonction appelée.Dans la procédure d&#039;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#039;enregistrements dans notre cas) de la fonction appelée.\nVoici le code réécrit pour l&#039;exemple ci-dessus:Voici le code réécrit pour l&#039;exemple ci-dessus:\nCRÉER UNE PROCÉDURE [dbo].[PRINT_EMP](@p_empl_no Int)\nCOMME\nCOMMENCER\nDÉCLARÉ\n@Proc_table TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n);</p>"},{"id":"text-10","type":"text","heading":"","plain_text":"INSÉRER DANS @Proc_table (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)\nSELECT * FROM dbo.GET_EMPLOYEETBL (@p_empl_no)","html":"<p>INSÉRER DANS @Proc_table (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)\nSELECT * FROM dbo.GET_EMPLOYEETBL (@p_empl_no)</p>"},{"id":"text-11","type":"text","heading":"","plain_text":"SELECT * FROM @Proc_table\nFIN\nALLER","html":"<p>SELECT * FROM @Proc_table\nFIN\nALLER</p>"},{"id":"text-12","type":"text","heading":"","plain_text":"CRÉER UNE FONCTION [dbo].[GET_EMPLOYEETBL](@p_empl_no Int)\nRETOURS @mytable TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n)\nCOMME\nCOMMENCER\nINSÉRER DANS @mytable (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) SELECT\nEMP.EMPNO,\nEMP.ENAME,\nEMP.JOB,\nEMP.MGR,\nEMP.HIREDATE,\nEMP.SAL,\nEMP.COMM,\nEMP.DEPTNO\nDE\ndbo.EMP\nOERE EMP.EMPNO = @p_empl_no","html":"<p>CRÉER UNE FONCTION [dbo].[GET_EMPLOYEETBL](@p_empl_no Int)\nRETOURS @mytable TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n)\nCOMME\nCOMMENCER\nINSÉRER DANS @mytable (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) SELECT\nEMP.EMPNO,\nEMP.ENAME,\nEMP.JOB,\nEMP.MGR,\nEMP.HIREDATE,\nEMP.SAL,\nEMP.COMM,\nEMP.DEPTNO\nDE\ndbo.EMP\nOERE EMP.EMPNO = @p_empl_no</p>"},{"id":"text-13","type":"text","heading":"","plain_text":"REVENIR\nFIN","html":"<p>REVENIR\nFIN</p>"},{"id":"text-14","type":"text","heading":"","plain_text":"O2SS0380: impossible de convertir la fonction avec le type de retour d&#39;enregistrementO2SS0380: Impossible de convertir la fonction avec le type de retour d&#39;enregistrement","html":"<p>O2SS0380: impossible de convertir la fonction avec le type de retour d&#039;enregistrementO2SS0380: Impossible de convertir la fonction avec le type de retour d&#039;enregistrement</p>"},{"id":"text-15","type":"text","heading":"","plain_text":"&lt;! &#8211;  -&gt;\nClick to rate this post!\n                                   \n                               [Total: 0  Average: 0]","html":"<p>&lt;! &#8211;  -&gt;\nClick to rate this post!\n                                   \n                               [Total: 0  Average: 0]</p>"}],"sections":[{"id":"text-1","heading":"Text","content":"22/01/2020\n\t\t\t\t\t\t\t\n3 minutes de lecture"},{"id":"text-2","heading":"Text","content":"Dans cet article"},{"id":"text-3","heading":"Text","content":"&lt;! &#8211;  -&gt;\nCet article explique pourquoi l&#39;Assistant Migration SQL Server (SSMA) pour Oracle ne peut pas convertir le jeu d&#39;enregistrements renvoyé par la fonction.Cet article explique la raison pour laquelle SQL Server Migration Assistant (SSMA) pour Oracle n&#39;est pas en mesure de convertir le jeu d&#39;enregistrements qui est renvoyé par la fonction.\nContexteContexte\nUne 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&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant.Lorsqu&#39;il renvoie le contrôle, il renvoie également une valeur au code appelant. Lorsqu&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;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&#39;une fonction renvoie une valeur, la valeur est renvoyée via une instruction return à l&#39;appelant de la fonction, après avoir été implicitement convertie en type de retour de la fonction dans laquelle elle a été définie.\nChaque 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&#39;est pas en mesure de résoudre ce type de données. Par conséquent, lorsque vous essayez d&#39;utiliser ce jeu d&#39;enregistrements dans la procédure appelée, SSMA génère un message d&#39;erreur.Par conséquent, lorsque vous essayez d&#39;utiliser cet ensemble d&#39;enregistrements dans votre procédure appelée, SSMA génère un message d&#39;erreur.\nExempleexemple\nPrenons l&#39;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&#39;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.\nCRÉER OU REMPLACER LA PROCÉDURE print_emp (p_empl_no dans le type emp.empno%)\nCOMME\nProc_Table emp% rowtype;\nCOMMENCER\nProc_Table: = get_employeeTbl (p_empl_no);"},{"id":"text-4","heading":"Text","content":"dbms_output.put_line (Proc_Table.empno);\ndbms_output.put_line (Proc_Table.ename);\ndbms_output.put_line (Proc_Table.job);\ndbms_output.put_line (Proc_Table.mgr);\ndbms_output.put_line (Proc_Table.hiredate);\ndbms_output.put_line (Proc_Table.sal);\ndbms_output.put_line (Proc_Table.comm);\ndbms_output.put_line (Proc_Table.deptno);\nFIN;\n/"},{"id":"text-5","heading":"Text","content":"CRÉER OU REMPLACER LA FONCTION get_employeeTbl (p_empl_no dans le type emp.empno%)\nRETURN emp% rowtype\nCOMME\nl_cust_record emp% rowtype;\nCOMMENCER\nSELECT *\nINTO l_cust_record\nDE emp\nOERE empno = p_empl_no;"},{"id":"text-6","heading":"Text","content":"RETOUR (l_cust_record);\nFIN;"},{"id":"text-7","heading":"Text","content":"Lorsque SSMA tente de convertir le code ci-dessus à partir de print_empla principale procédure qu&#39;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&#39;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&#39;erreur suivant:"},{"id":"text-8","heading":"Text","content":"O2SS0359: impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonctionO2SS0359: Impossible d&#39;obtenir la description du type de retour de l&#39;expression d&#39;appel de fonction"},{"id":"text-9","heading":"Text","content":"Solutions possiblesRemèdes possibles\nLa solution à l&#39;erreur ci-dessus consiste à réécrire le code dans SQL Server.La solution de l&#39;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&#39;environnement appelant.Dans le code, vous remplissez ce tableau en utilisant la même logique métier, puis renvoyez ce tableau à l&#39;environnement appelant. Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.Dans la procédure d&#39;appel, vous devez également utiliser une variable de table pour stocker la valeur de retour (jeu d&#39;enregistrements dans notre cas) de la fonction appelée.\nVoici le code réécrit pour l&#39;exemple ci-dessus:Voici le code réécrit pour l&#39;exemple ci-dessus:\nCRÉER UNE PROCÉDURE [dbo].[PRINT_EMP](@p_empl_no Int)\nCOMME\nCOMMENCER\nDÉCLARÉ\n@Proc_table TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n);"},{"id":"text-10","heading":"Text","content":"INSÉRER DANS @Proc_table (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)\nSELECT * FROM dbo.GET_EMPLOYEETBL (@p_empl_no)"},{"id":"text-11","heading":"Text","content":"SELECT * FROM @Proc_table\nFIN\nALLER"},{"id":"text-12","heading":"Text","content":"CRÉER UNE FONCTION [dbo].[GET_EMPLOYEETBL](@p_empl_no Int)\nRETOURS @mytable TABLE\n(\nEMPNO int,\nENAME varchar (max),\nJOB varchar (max),\nFlotteur MGR,\nHIREDATE datetime,\nFlotteur SAL,\nFlotteur COMM,\nFlotteur DEPTNO\n)\nCOMME\nCOMMENCER\nINSÉRER DANS @mytable (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) SELECT\nEMP.EMPNO,\nEMP.ENAME,\nEMP.JOB,\nEMP.MGR,\nEMP.HIREDATE,\nEMP.SAL,\nEMP.COMM,\nEMP.DEPTNO\nDE\ndbo.EMP\nOERE EMP.EMPNO = @p_empl_no"},{"id":"text-13","heading":"Text","content":"REVENIR\nFIN"},{"id":"text-14","heading":"Text","content":"O2SS0380: impossible de convertir la fonction avec le type de retour d&#39;enregistrementO2SS0380: Impossible de convertir la fonction avec le type de retour d&#39;enregistrement"},{"id":"text-15","heading":"Text","content":"&lt;! &#8211;  -&gt;\nClick to rate this post!\n                                   \n                               [Total: 0  Average: 0]"}],"media":{"primary_image":"https://tutos-gameserver.fr/wp-content/uploads/2019/12/logo-ms-social.png"},"relations":[{"rel":"canonical","href":"https://tutos-gameserver.fr/2020/02/25/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression-2/"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2020/02/25/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression-2/llm","type":"text/html"},{"rel":"alternate","href":"https://tutos-gameserver.fr/2020/02/25/o2ss0359-impossible-dobtenir-la-description-du-type-de-retour-de-lexpression-dappel-de-fonction-erreur-sql-server-bien-choisir-son-serveur-d-impression-2/llm.json","type":"application/json"},{"rel":"llm-manifest","href":"https://tutos-gameserver.fr/llm-endpoints-manifest.json","type":"application/json"}],"http_headers":{"X-LLM-Friendly":"1","X-LLM-Schema":"1.1.0","Content-Security-Policy":"default-src 'none'; img-src * data:; style-src 'unsafe-inline'"},"license":"CC BY-ND 4.0","attribution_required":true,"allow_cors":false}