最近开始学习oracle,小白起步~
我创建用户的步骤是:首先判断用户是否已经存在,如果存在就删除。然后创建用户,并分配表空间和权限。
判断要创建的用户已经存在,如果存在就删除。
declare
row integer;
begin
select count(*) into row from dual where exists(select * from all_users a where a.username=upper('zhang'));
if row > 0 then
execute immediate 'DROP USER zhang cascade';
end if;
end;
1.用户名那里没加upper函数。用户名和表名等,在数据库中都是以大写字母的形式保存,所以在搜索时,要使用upper函数。
否则查找为空。
2、PL/SQL语言不熟悉,对变量声明以及条件语句不熟悉。
然后就是创建用户和分配空间、权限了
create user zhang identified by dajiao default tablespace tableData
grant connect to zhang;
grant resource to zhang;
grant DBA to zhang;
grant unlimited tablespace to zhang;
grant create any table to zhang;
grant select any table to zhang;
但是,遇到了问题 ORA-00922。从错误提醒很容易知道是第一句执行失败,没有创建用户。问题应该就是出现在表空间tableData那里了。
创建表空间:
create tablespace tableData
logging
datafile 'H:\oracleData\tableData.dbf'
size 50m
autoextend on next 2m maxsize 100m;
从度娘那里的知,这是因为语句或者命名不规范导致,于是我尝试这将用户名改成大写,然并卵~.后面在检查一下语句,发现第一句结束没有分号,加上了就ok了。
然后查看一下用户。
这是本小白的第一篇博客,希望有那个盆友看到了,打声招呼也好哦。但不希望看到喷友~