如表名为:test请问,如何利用存储过程创建一个表?如何利用存储过程给一个表添加字段?如何创建视图?并返回创建成功,或创建失败的信息。如:返回 1,表示成功,返回0表示失败。
解决方案 »
- 执行动态语句后,update操作无效,求助,急急急!请各位帮忙看看...谢谢啦
- 求教一个正则表达式的写法
- oracle 多表查询,计算台席利用率。小弟,在线等高手解决!
- 请高手解决问题,快来
- oracle 7.3 数据库升级到 oracle 8.1.7 的若干问题!狠狠的给分!
- 菜鸟求救------关于时间问题
- 好的oracle学习网站/我的疑惑
- SQL请教,有两张表,表A是主表,表B是从表,如何实现下面的展示格式
- 怎么通过特定值查询出该值存在的所有表名和列名?
- PL/SQL Developer13查询无输出
- 高手帮忙?加分?
- 用orcaleclient 了解orcale8.17(字符集:AMERICA US7ASCII) 取出的数据为什么都是乱码,怎么解决啊
return number
is
begin
execute immediate 'create table testt(
id number(8),
name varchar2(10))';
return 1;
exception
when others then
return 0;
end;
/要返回值好像还只能写成函数呢.你可以执行SELECT crtb FROM DUAL;来看返回的是什么值.
create view view_name as
select ......
begin
execute immediate 'create table a(id number,name varchar2(10))';
end;
SQL> begin
2 execute immediate 'create table a(id number,name varchar2(10))';
3 end;
4 /PL/SQL 过程已成功完成。SQL> desc a
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(10)
楼上的可以用
偶来晚了
如果更动态的需要使用 dbms_sql包
as
exp exception;
begin
execute immediate 'create table test(id number,name varchar(20))';
execute immediate 'insert into test(110,'test_name')';
raise exp;
exception
when exp then
dbms_output.put_line('执行成功1');
when others then
dbms_output.put_line('执行失败0');
end;