XMLType в оракуле - PullRequest
       35

XMLType в оракуле

0 голосов
/ 12 апреля 2019

У меня есть следующий код в 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. Может ли кто-нибудь помочь с тем, как конвертировать это? И можно ли конвертировать это?

...