将表数据类型从 SQL Server 转换为 Oracle 并将动态 SQL 数据插入到表数据类型
Posted
技术标签:
【中文标题】将表数据类型从 SQL Server 转换为 Oracle 并将动态 SQL 数据插入到表数据类型【英文标题】:Converting Table Data Type from SQL Server to Oracle and dynamic SQL data inserting to table data type 【发布时间】:2020-04-04 11:07:01 【问题描述】:我在 SQL Server 中有一段代码。
我正在尝试将其转换为 ORACLE 脚本。这段代码是否对称翻译并不重要。主要是用原生的方式解决问题。
DECLARE @tabForTextToReplace AS TABLE (textForReplace nvarchar(200))
set @execSQLCommand='select top 1 ' + @viewColumnName + ' from ' +
@viewName + ' where obj_ID='+cast(@receiverID as varchar(50))
INSERT into @tabForTextToReplace exec sp_executesql @execSQLCommand
【问题讨论】:
【参考方案1】:虽然我在 TSQL 方面完全没有经验,但在 PL/SQL 中有些东西看起来像您所展示的(尽管代码中的“前 1”确实告诉 SQL 只返回一行,那么为什么将其插入到表超出了我的范围):
declare
type t is table of nvarchar2(10);
ttab t;
begin
select cast('123' as nvarchar2(10)) bulk collect into ttab from dual connect by level <10;
end;
/
【讨论】:
是的,你说得对,将前 1 个代码插入表中,我在 MSSQL 中修复了它,并将尝试将其提交给 Oracle以上是关于将表数据类型从 SQL Server 转换为 Oracle 并将动态 SQL 数据插入到表数据类型的主要内容,如果未能解决你的问题,请参考以下文章
从 Excel 导入 SQL Server:将 varchar 数据类型转换为 datetime 数据类型导致值超出范围
SQL Server 2008 查询将表数据从一个移动到另一个