EXECUTE IMMEDIATE
'Create Table '||vCUPRSBaseTableName
||' As Select * From '||vCUPRSTableName
||' where C_DESTINATION_ENTITY='''||l_bc_a(i)
||''' and LATEST=1'
问问题
305 次
2 回答
1
您不能将静态 sql 的表名绑定到变量。唯一的方法是使用动态 sql
于 2012-05-15T06:12:18.917 回答
0
无法在存储过程中执行 DDL。再加上您希望灵活地命名目标表和源表这一事实,动态 SQL 是您唯一的选择。
然而,正如 David A 所观察到的,实际上很少需要以这种方式创建表。如果您要解释您的用例,我们应该能够提出更好的方法。如果我是一个赌徒,我会把钱放在临时桌子上,作为你真正想要的解决方案。 了解更多。
于 2013-01-20T14:13:45.747 回答