存储过程中如何将表名作为参数? 如:delete from table1.想用存储过程实现这个功能,将table1作为参数传入存储过程,请问这个存储过程该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用动态sql:在oracle8.1.5中:用execute immediate来实现tsql:='delete from '||tablename;//tablename是参数execute immediate tsql; 也可以用dbms包函数实现,类似上面的方法。 create or replace procedure running(tbname char)astblnm char(50);strsql char(50);begintblnm:=tbname;strsql:='delete from '||rtrim(tblnm);dbms_output.put_line(strsql);execute immediate strsql;end;/ Oracle8.15之前的版本就必须要用dbms_sql包以光标的方式来处理了。 oracle转sql server ODBC链接远程oracle数据库 递归查询并统计的问题,,,请教!先谢了 iReport .net 如何获得oracle中的timestamp格式数据? 在unix 下,oracle 数据库服务器更改了ip地址了,需要更改什么文件,才能够重新启动? oracle语句怎么写查询语句相关的 怎样插入数据到几个相关联的表! 数据库速度缓慢,请高手帮忙... SQLPLUS中如何显示变量的值 请教班主:proc程序(在win2000环境下VC++6.0编译)在连接远程ORACLE服务器时报错:ORA-01012:未登陆! 怎样把一个字段设置成自动编号的类型
用execute immediate来实现
tsql:='delete from '||tablename;//tablename是参数
execute immediate tsql;
as
tblnm char(50);
strsql char(50);
begin
tblnm:=tbname;
strsql:='delete from '||rtrim(tblnm);
dbms_output.put_line(strsql);
execute immediate strsql;
end;
/