to superall:
我在sql*plus用相同的用户名执行没有问题
我在sql*plus用相同的用户名执行没有问题
解决方案 »
- 请教如何修改列名?
- 求SQL语句 关于每天时间排序 分不多 求帮忙
- 初学,语句问题
- 求助!win7英文系统安装MSDE2000失败
- isnull 的问题
- sqlserver2005的连接出错问题,各种方法都试了。实在找不出原因。
- 触发器代码的优化,另外发现触发器动作频繁,系统内存占用严重,求解决办法
- sql恢复问题?非常重要!
- 超级困难的一个Order by问题,大虾救救小女子
- help me,powerdesigner7.0用create report后生成报表,倒出文档中文会乱码的问题?
- 傻瓜问题,请多指教!!!
- 求教列位大侠,在vfp6.0中能否把grid中的列对象指定为combo,如何实现?
v_cursorid number;
v_createstring varchar2(400);
v_numrows integer;
begin
--建表
v_cursorid:=dbms_sql.open_cursor;
v_createstring:='CREATE TABLE DRCOM.TBL'¦¦to_char(sysdate,'HH24:MI:SS');
v_createstring:=v_createstring¦¦'VISITLOG (FLDID NUMBER(10, 0))';
dbms_sql.parse(v_cursorid,v_createstring,dbms_sql.v7);
v_numrows:=dbms_sql.execute(v_cursorid);
exception
when others then
dbms_sql.close_cursor(v_cursorid);
end;
没有问题
declare
v_cursorid number;
v_createstring varchar2(400);
v_numrows integer;
begin
--建表
v_cursorid:=dbms_sql.open_cursor;
v_createstring:='CREATE TABLE DRCOM.TBL'||to_char(sysdate,'HH24:MI:SS');
v_createstring:=v_createstring||'VISITLOG (FLDID NUMBER(10, 0))';
dbms_sql.parse(v_cursorid,v_createstring,dbms_sql.v7);
v_numrows:=dbms_sql.execute(v_cursorid);
exception
when others then
dbms_sql.close_cursor(v_cursorid);
end;
没有问题,但运行同样代码的储存过程却报错!!
急死人了,希望大家多多帮忙!找找错误原因
但我现在就是用DBMS_SQL啊!
因为你的CREATE语句中表的名字中含有':'!试试
create table a1:1:1 (c1 number)
就知道了。你扑获了所有异常,而在异常处理中未做任何提示,所以ORACLE提示语句成功执行,而实际上CREATE并未执行。建议:将':'改为'_'(下划线)即可。
另:你完全可以利用SQLCODE和SQLERRM来发现错误所在。他MD!我的网速怎么这么慢!
2。已创建的表再执行CREATE肯定报错。
3。表名是否有错?表名中不允许出现时间的冒号,把小时、分、秒分别提取:
to_char(sysdate,'HH')||'_'||to_char(sysdate,'MM')||' '||to_char(sysdate,'SS')