Sql 如何为my DB中的所有表创建视图

Sql 如何为my DB中的所有表创建视图,sql,oracle,stored-procedures,view,Sql,Oracle,Stored Procedures,View,我已经编写了下面的代码来更正数据库中的所有表。 请检查并更正它 声明 名称Varchar2100; 一个数字:=0; 光标C1为 从选项卡中选择表格名称; 开始 开C1; 环 A:=A+1; 将C1取为名称; 未找到C1%时退出; 执行“立即”创建或替换视图选项卡| | A 像 从名称中选择*; 端环; 关闭C1; 终止 请更正我的代码修复了您的代码: 声明 名称Varchar2100; 一个数字:=0; 光标C1为 从选项卡中选择表格名称; 开始 开C1; 环 A:=A+1; 将C1取为名称;

我已经编写了下面的代码来更正数据库中的所有表。 请检查并更正它

声明 名称Varchar2100; 一个数字:=0; 光标C1为 从选项卡中选择表格名称; 开始 开C1; 环 A:=A+1; 将C1取为名称; 未找到C1%时退出; 执行“立即”创建或替换视图选项卡| | A 像 从名称中选择*; 端环; 关闭C1; 终止 请更正我的代码

修复了您的代码:

声明 名称Varchar2100; 一个数字:=0; 光标C1为 从选项卡中选择表格名称; 开始 开C1; 环 A:=A+1; 将C1取为名称; 未找到C1%时退出; 立即执行“创建或替换视图选项卡”| | A | |” 像 从“| |名称| |”中选择*; 端环; 关闭C1; 终止 / 但我会这样做:

声明 varchar2、pPrintOnly varchar2中的过程p_execpCMD默认值“n”为 开始 如果是,那么 dbms_output.put_linepCMD; 其他的 立即执行pCMD; dbms_output.put_linepCMD; 如果结束; 终止 开始 对于r,选择rownum rn,表_Name From Tabs loop 首席执行官 utl_lms.format_消息 '从%s中选择*创建或替换视图选项卡%s' ,致中国注册商标“fm9999” ,r.表格名称
-,'y'-本论坛不是为人们提供帮助的地方,请就您遇到的问题提出问题,我们愿意帮助您。下次请试着做得更好

执行立即字符串应为:

Execute Immediate 
  'Create Or Replace View Tab' ||A|| '
   As
   Select * From ' || Name;

别忘了这一点;在最后一个端点之后

是古老且不推荐使用的,并且包括视图和放置的对象。您可能需要用户表。这仅适用于模式中的表,而不是问题标题中建议的整个数据库。例如,定义为select*from order_details的名为tab37的视图会有什么用途?@WilliamRobertson我同意user_表会更好,但他使用的是TABS,它是user_表的同义词,而不是TAB:@SayanMalakshinov Oops,好地方。不管正确与否,整个练习似乎毫无意义。非常感谢。下次将避免此问题如果这回答了您的问题,您可以将其标记为已回答。这将向其他论坛成员表明问题已经解决,并将给回答问题的人一些积分。谢谢