Oracle 如何将此T-SQL语句重新写入PL/SQL

Oracle 如何将此T-SQL语句重新写入PL/SQL,oracle,plsql,database-migration,Oracle,Plsql,Database Migration,是Oracle提供的用于执行SQL Server迁移的平台 您可以粘贴到T-SQL中,它将输出PL/SQL 工具>迁移>草稿编辑器 它不能像其他任何翻译人员一样保证100%的翻译成功,但应该给你一个好的开始 这是我们最终的结果,没有任何测试 declare @sql varchar(max) declare @pimkeys varchar(max) set @pimkeys = '69966,69965' -- input comma delimited values inside sing

是Oracle提供的用于执行SQL Server迁移的平台

您可以粘贴到T-SQL中,它将输出PL/SQL

工具>迁移>草稿编辑器

它不能像其他任何翻译人员一样保证100%的翻译成功,但应该给你一个好的开始

这是我们最终的结果,没有任何测试

declare @sql varchar(max)
declare @pimkeys varchar(max)
set @pimkeys = '69966,69965' -- input comma delimited values inside single quotation marks

SET @SQL = 
  'with basedata as( 
SELECT 
ec.Pim_key,pm.Parent_PIM_Key,pm.Item_Type,pm.Company_name,pm.Part_number,pm.Product_Desc,pm.Novation_Description
,ec.Name ,ec.Value 
    FROM edw..Products_PPS_Attributes AS ec
    join edw..DM_Product_Master as pm on ec.Pim_Key = pm.PIM_Key
    where ec.pim_key in ('+@pimkeys+'))

Select * from basedata
PIVOT (  MAX(Value) FOR Name IN( Sync_Code,Product_Line_Brand )  ) AS p'

execute (@SQL)
是Oracle提供的用于执行SQL Server迁移的平台

您可以粘贴到T-SQL中,它将输出PL/SQL

工具>迁移>草稿编辑器

它不能像其他任何翻译人员一样保证100%的翻译成功,但应该给你一个好的开始

这是我们最终的结果,没有任何测试

declare @sql varchar(max)
declare @pimkeys varchar(max)
set @pimkeys = '69966,69965' -- input comma delimited values inside single quotation marks

SET @SQL = 
  'with basedata as( 
SELECT 
ec.Pim_key,pm.Parent_PIM_Key,pm.Item_Type,pm.Company_name,pm.Part_number,pm.Product_Desc,pm.Novation_Description
,ec.Name ,ec.Value 
    FROM edw..Products_PPS_Attributes AS ec
    join edw..DM_Product_Master as pm on ec.Pim_Key = pm.PIM_Key
    where ec.pim_key in ('+@pimkeys+'))

Select * from basedata
PIVOT (  MAX(Value) FOR Name IN( Sync_Code,Product_Line_Brand )  ) AS p'

execute (@SQL)

据我所知,这只是一个SQL语句,您不需要PL/SQLthat@thatjeffsmith:但它使用动态SQL-您确实需要PL/SQL来that@a_horse_with_no_name虽然它看起来不是很动态,但它只是做了一个字符串替换。我知道这是一个SQL语句……但是这个语句在PL/SQL Oracle中不起作用。所以我想知道有没有一种方法可以让任何人帮我翻译它。据我所知,这可能只是一个SQL语句的重复,你不需要PL/SQL来翻译它that@thatjeffsmith:但它使用动态SQL-您确实需要PL/SQL来that@a_horse_with_no_name但它似乎不是很有活力,它只是在做一个字符串替换,我知道这是一个SQL语句……但这个语句在PL/SQL Oracle中不起作用。所以我想知道有没有一种方法可以让任何人帮我翻译。感谢你的快速回复。我会试试的@Ahmed我不得不为v_SQL添加声明,但是我基于您的示例的简单测试场景似乎有效。感谢您的快速响应。我会尝试一下@Ahmed我不得不为v_SQL添加声明,但基于您的示例的简单测试场景似乎可以正常工作