你是没有找到这张表,在plsql中把系统表过滤掉
declare
vl_num number(8);
STRSQL_CREATE varchar2(1024);
begin
select count(*) into vl_num from tabs where table_name='TestTB';
if ( vl_num = 0 ) then
strSQL_CREATE := 'create table TestTB(ID int,Name varchar(20) )';
EXECUTE IMMEDIATE strSQL_CREATE;
end if;
end;
oracle TABLE 不可以create or replace
只能先用drop 表,然后再create。
或者写成 过程
begin
execute immediate 'drop table tbname ';
execute immeidate 'create table tbname ... ';
end;
/
是这个语法吗?
create table t_new asselect .... from t_oldwhere ....那么:
你需要建表的权限
你的select 列表中的每列应该有名字,没有的话要给别名
主要是查询all_tables表的TABLE_NAME和OWNER,如果表存在,则执行execute immediate 'drop table TABLE_NAME';Sql代码--判断表是否存在,如果存在则删除declarenum number;beginselect count(1) into num from all_tables where TABLE_NAME = 'EMP' and OWNER='SCOTT';
if num=1 then
execute immediate 'drop table EMP';end if;end;/--创建表CREATE TABLE EMP
(EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2),
可以将上述存储过程加载到每一个create table前面。
在oracle 11g中为什么我的scott就是不能解锁.当我在SQL>之后输入alter user scott account unlock 回车,就会出现2....... 就是不能解锁!急急!
: 在oracle中每写完一个句子都需要以 ;结尾的, 应该是sql>alter user scott account unlock;才是正确的!
在oracle中为什么我能够select出自己想要的表,但是在table中没有这张表
: 你是没有找到这张表,在plsql中把系统表过滤掉
在oracle为什么我在新用户中建的表在my objects中看不到 而在all objects中却看得
: 你好!权限不够在DBA或那个新用户下,grant all on table XXX to 你的查询用户;打字不易,采纳哦!
为什么我在oracle参数文件中设置standby -
: 在oracle参数文件中设置standby 备库Standby环境变量:[oracle@dg ~]$ cat /home/oracle/.bash_profile# .bash_profile# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi# User specific environment and startup programs PATH=$...
弱弱的问一句,为什么我的oracle用户.bash
: 用ssh连接到服务器,用oracle用户登录,.bash_profile中间中的设置生效了..bash_profile只在登陆的时候读取,在X下登陆打开一个console的话是不读取该文件的.如果你在字符模式下登陆输入用户和密码的话是读取的.如果在X下打开一个...
oracle数据库中,在命令行操作.为什么我切换用户输入conn system/123;可以切换成功, -
: 命令应该是:conn system/123 as sysdba;
oracle中为何我无法登陆sys账户
: 看看错误信息 登录应该是这样 .connect sys/sys as sysdba
oracle中,为什么我已经用drop table删除了一个表,但是再用这个表名建表时,为什么提示此表已存在
: 奇怪的问题往往是误操作所致,首先确认你用的用户,和你查看的表是不是在当前用户下,然后看有没有这个名字的同义词
为什么我在oracle中 select * from bonus;显示的表格式不对啊 是这样的 该怎么改啊
: 你好!set linesize 1000;如果你是用CMD命令行执行sqlplus,那么除了要设置set linesize外,还要修改命令行窗口的属性,右键窗口标题栏,选择属性,布局,屏幕缓冲区大小,把宽度设成你需要的大小如有疑问,请追问.
为什么我的Oracle监听在服务中起来又自动关掉呢
: 有可能端口被占用了,你用命令行启动 lsnrctl start ,看一下运行情况.先重启一下服务器再运行监听.