`IN_Table_Num Number:=4;
IF IN_Table_Num >3 and IN_Table_Num <100 Then
Insert Into Table||IN_Table_Num
()Values()
End IF;`我的表名像Table1、Table2到Table9具有相同的列名(ID、名称、优先级),现在我想根据传递的数字将其插入/更新到表中。例如,如果传递的数字为2,则应将数据插入或更新到Table2中,如果数字为3,则应将数据插入/更新到Table3中。请回答相同的问题
我希望将表名连接起来,以便在传递IN_Table_Num时将Table4生成为9并插入。对于Table9,所有Table4中的列名都是相同的
请解释一下
请帮帮忙
发布于 2012-07-31 20:22:11
您可以使用dynamic SQL来实现此目的(请参阅http://docs.oracle.com/cd/E14072_01/appdev.112/e10472/dynamic.htm以获取参考)。很大程度上是为insert语句构建一个字符串,您可以在其中通过连接名称存根和数字来生成表名,然后对其执行EXECUTE IMMEDIATE。
https://stackoverflow.com/questions/11736557
复制相似问题