首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

Select语句中的表名[table]是否可以通过外部调用时输入,而不必在语句中指定?解决方法

2012-03-27 
Select语句中的表名[table]是否可以通过外部调用时输入,而不必在语句中指定?createorreplaceproceduregetT

Select语句中的表名[table]是否可以通过外部调用时输入,而不必在语句中指定?
create   or   replace   procedure   getTableCursor
(
        p_cursor   out   r_cursor.r_cursor,
        p_tableName   varchar2
)
as
begin
        open   p_cursor   for   select   *   from   p_tableName[table];
end   getTableCursor;

在上面这个过程中,表名p_tableName要是确定的。我的问题是:能不能通过外部调用输入参数的方式来指定输入表名,而不必在“open   p_cursor   for   select   *   from   p_tableName”指定一个表名。怎么做?诸位指点

[解决办法]
create or replace procedure getTableCursor
(
p_cursor out r_cursor.r_cursor,
p_tableName varchar2
)
as
begin
declare
sqlstr varchar2(1000);
begin
sqlstr:= 'select * from '||p_tableName;
open p_cursor for sqlstr;
end;
end getTableCursor;

热点排行