读书人

Select语句中的表名[table]是否可以通

发布时间: 2012-01-31 21:28:41 作者: rapoo

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”指定一个表名。怎么做?诸位指点

[解决办法]
定义一个参数 ,select 参数=你要获取表名的sql语句,
不知是否有用?友情帮顶。
[解决办法]
游标的没试过

以前这样写过

存储过程有一个参数,接受表名
里面这样写

declare @sql varchar(8000)
set @sql = 'select * from ' + @tablanem + ' where ... '
exec(@sql)
======================

也就是说,动态的表名不可以直接使用,得连接成字符串后通过 EXEC 来执行。

读书人网 >SQL Server

热点推荐