У меня есть следующий код в SQL Server:
CREATE PROCEDURE [dbo].[spParseCapIQCurrency](
@XMLString varchar(max))
AS
BEGIN
SET NOCOUNT ON;
--Validate proper xml format; SQL does not allow TRYCAST on xml.
DECLARE @XML xml
BEGIN TRY
SET @XML= Cast(@XMLString as xml)
END TRY
BEGIN CATCH
RAISERROR('XMLString not in XML format.',16,1)
RETURN
END CATCH
DECLARE @CURRENCY_EXCHANGE table(StartDate date, Currency varchar(50), Rate float)
DECLARE @TABLE table(Currency varchar(50), ExchangeRate float, XMLProps xml)
insert into @TABLE(Currency,ExchangeRate, XMLProps)
select X.c.value('(Identifier)[1]', 'varchar(50)') as Currency,
X.c.value('(Body/Rows/Row/C_V)[1]','float') as ExangeRate,
X.c.query('Properties') as XMLProps
from @XML.nodes('/SDKClientResponse/DataArea/MultiResponse/SingleResponse') as X(c)
DECLARE @IXStartDate int=2
select X.c.value('(Value)[1]','varchar(50)') as 'StartDate',
Currency,
ExchangeRate
from @TABLE
cross apply XMLProps.nodes('/Properties/Property[position()=(sql:variable("@IXStartDate"))]') as X(c)
END
Мне нужно преобразовать вышеупомянутое в PLSQL, что мне очень сложно, так как я относительно новичок в Plsql и, похоже, не могу найти много информации по теме типа данных xml.
Может ли кто-нибудь помочь с тем, как конвертировать это? И можно ли конвертировать это?