update like this:
create or replace procedure test(tablename varchar2,columnname varchar2)
as
begin
execute immediate 'alter table '||tablename||' add '||columnname||' number(38)';
end;
create or replace procedure test(tablename varchar2,columnname varchar2)
as
begin
execute immediate 'alter table '||tablename||' add '||columnname||' number(38)';
end;
解决方案 »
- Navicat for Oracle 中如何创建自增主键
- 今天去千橡面试, 被问到一个关于数据库设计的问题,没答好,哪个高手来指导一下?
- Oracle SQL*Plus中通过文件-打开-打开SQL脚本怎么不执行?
- 请教一条PL/SQL语句
- 如何用SQL语名更改字段名?
- PROC,hpUnix下的链接库-lclntsh,在Solaris9下该用什么替换,我用-lclient8有问题。oracle为8.1.7
- oracle的字符集配置!
- hibernate query.list() 方法为什会卡死
- PL/SQL显示字段信息不完全
- execute immediate使用
- 基础问题: 1: rownum 用法 2: 用户名
- 怎样理解第二句?其中REF是什么意思啊?
as
str varchar2(50);
begin
str:='alter table'|| tablename||' add t number(38)';
execute immediate str;
str:= 'update '||tablename||' set t= '||columnname;
execute immediate str;
str:='alter table '||tablename||' drop '||columnname;
execute immediate str;
str:='alter table '||tablename||' rename column t to '||columnname;
execute immediate str;
end;
这样行吗?好像运行的时候说找不到字符串。为什么?
str:='alter table '|| tablename||' add t number(38)';
* 这里少了个空格