0

我需要调整这个数据文件'+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919'的大小,为什么这个简单的过程是错误的?

其他选择,普利斯?

SQL> begin
      2  execute immediate 'alter database datafile '+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919' resize 732M';
      3  exit;
      4  /
    execute immediate 'alter database datafile '+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919' resize 732M';


                                                                                *

第 2 行出现错误:ORA-06550:第 2 行,第 87 列:PLS-00103:在预期以下情况之一时遇到符号“.269”:. ( * @ % & = - + ; < / > at 是 mod 余数不是 rem 返回返回 <> 或 != 或 ~= >= <= <> and or like2 like4 likec between into using || bulk member submultiset

4

1 回答 1

2

您需要使用双引号 ('') 转义单引号 (')

begin
      execute immediate 'alter database datafile ''+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919'' resize 732M';
end;
/

但是你为什么要使用动态sql呢?你可以写

alter database datafile '+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919' resize 732M';

在 sqlplus 中?

于 2015-05-14T11:01:33.860 回答