Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
StoredProcedureInmsqlTomySql_Mysql_Sql Server_Stored Procedures - Fatal编程技术网

StoredProcedureInmsqlTomySql

StoredProcedureInmsqlTomySql,mysql,sql-server,stored-procedures,Mysql,Sql Server,Stored Procedures,我在MSSQl中有一个存储过程,我想在我的sql中编写它, 请给我任何帮助或建议。我无法在Mysql中使用XML函数 存储过程: ALTER PROCEDURE uspGetProductDetailsCSV ( @sku NVARCHAR(MAX) ) AS BEGIN - SELECT T.C.value('.', 'NVARCHAR(100)') AS [SK

我在MSSQl中有一个存储过程,我想在我的sql中编写它, 请给我任何帮助或建议。我无法在Mysql中使用XML函数

存储过程:

     ALTER PROCEDURE uspGetProductDetailsCSV (
            @sku NVARCHAR(MAX)
        )
        AS
        BEGIN
            -

            SELECT T.C.value('.', 'NVARCHAR(100)') AS [SKU]
            INTO #tblPersons
            FROM (SELECT CAST ('<Name>' + REPLACE     (@sku, ',', '</Name><Name>') 
            + '</Name>' AS XML) AS [Products]) AS A
            CROSS APPLY Products.nodes('/Name') as T(C)

            SELECT *
            FROM ProductInformation Pr
            WHERE EXISTS (SELECT Name FROM #tblPersons tmp WHERE tmp.SKU  
                           = case when len(tmp.SKU) = 11 then Product_No+Colour_Code+Size_Code
                                  when len(tmp.SKU) = 8 then Product_No+Colour_Code
                                  when len(tmp.sku) = 6 then Product_No end)



            DROP TABLE #tblPersons
        END
编辑:我无法编写存储过程的XML部分,因为我在Mysql中粘贴了相同的代码,它不会创建存储过程


错误:>不能转换为XML我不相信XML在MySql中是有效的类型。试着把它作为一个VARCHAR

所以,只需删除强制转换…我还认为您必须使用CONCAT而不是+并将列周围的[]更改为ticks

因此,不是:

FROM (SELECT CAST ('<Name>' + REPLACE     (@sku, ',', '</Name><Name>') 
+ '</Name>' AS XML) AS [Products]) AS A
尝试:


表现出一些努力。stackoverflow不是一种编码服务。@Bleach谢谢你,我已经努力写了这篇文章,但是在将结果捕获到临时表和XMl语句中时,正如我在帖子中提到的那样,我会准确地显示你所做的尝试和你被卡住的确切位置。显示您的MySQL存储过程。@Ganesh_Devlekar您的意思是至少放置名称空间:您是否尝试在MySQL中创建临时表,@Ganesh_Devlekar您没有任何意义。OP承认他不能解析XML部分。如果你能帮忙,你可以。
FROM (SELECT CONCAT('<Name>' , REPLACE(@sku, ',', '</Name><Name>'), 
'</Name>') AS `Products`) AS A