高手请进-----oracle 语句编写-----分不多----题目有点多----谢谢!!!
发布网友
发布时间:2022-04-10 03:15
我来回答
共3个回答
懂视网
时间:2022-04-10 07:37
一、开发环境要求:
前提是电脑必须安装oracle客户端。
安装了PL-SQL软件
二、配置PL-SQ并连接oracle
配置方法:
1、找到oracle的安装目录。如:C:oracleproduct10.2.0db_1
etworkADMIN
2、找到tnsnames.ora文件。
3、用文本方式打开,添加以下内容:
本地实例名(如SVTV) =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 远程服务器端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 远程数据库服务名)
)
)
其中中文部分是需要修改的部分,除第一个“本地实例名”外,其他需要跟远程数据库管理员咨询,本地实例名就是方便自己识别数据库的一个名字,可以自定义。
4、然后打开pl/sql就能看到自己创建的链接,如图:
5,经过上述步骤,点击确定之后应该进入相应的oracle数据库,QL-SQL Developer展示如下界面
Oracle------------->PL/SQL---------------->连接oracle数据库
标签:ip地址 服务器 目录 .com class sign ted cat 远程服务器
热心网友
时间:2022-04-10 04:45
1 举个例子
create table stu_information
(
stu_id char(8),
stu_name varchar(20),
stu_age number(3)
);
2 在上面建表比较简单
alter table stu_information add primary key(stu_id);
alter table stu_information add foreign key(stu_name);
语法
alter table 表名 add primary key(列名);
alter table 表名 add foreign key(列名);
3 跟第2有点类似
修改列名(列重命名) alter table 表名rename column 原来的列名 to 后来的列名
例子 alter table stu_information rename column stu_name to stu_fullname;
删除列 ALTER TABLE 表名 DROP COLUMN 列名
例子 alter table stu_information drop column stu_age;
禁用列
alter table 表名 set unused column 列名;
标注列
comment on column 表名.字段 is '学号';
comment on column stu_information.stu_id is '学号 ';
4 delete from 表名 删除数据 表结构还在 可以rollback 需要提交后完成删除动作
drop table 表名 删除表 表结构与数据全部删除
truncate table 表名 删除数据 保留表结构 不能回滚
相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据
不同点:
一. truncate和 delete只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.
二.delete语句是DML,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate,drop是DDL, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
三.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
显然drop语句将表所占用的空间全部释放
truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).
四 速度,一般来说: drop> truncate > delete
五.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及
5、create user 用户名 identified by "密码"
default tablespace 表空间名 --默认表空间
TEMPORARY TABLESPACE 表空间 --临时表空间
PROFILE DEFAULT --默认配置
ACCOUNT UNLOCK; --用户解锁
其实创建用户 create user 用户名 identified by "密码" ; 这样也可以 下面那些可选
修改密码 锁定用户和解锁 需要本身修改或者具有更高权限的用户修改 dba或者system用户
语句
alter user 用户名 identified by 新密码;--修改密码
alter user 用户名 account lock ;--锁定用户
alter user 用户名 account unlock;--解锁用户
6、例子
grant connect to spxz;--赋予系统权限
grant 权限 on 表名 to 用户名
对象权限 有select、update、delete、insert等等 要是嫌麻烦 直接写 all
grant all on 表名 to 用户;
grant select on scott.emp to user1;
revoke select on emp from 用户名; ---收回对象权限
revoke connect from 用户名; --收回系统权限
注意:oracle在授权后 权限可以传递 但是在回收权限后 系统权限仍然可以使用 但是对象权限是不能继续使用的!
7、删除用户
--用户下存在数据
drop user 用户名 cascade;
--用户为空用户 没有表什么的
drop user 用户名;
8、创建角色 设定角色权限
例子:
CREATE ROLE "QIUDINGROLE" NOT IDENTIFIED;
GRANT "CONNECT" TO "QIUDINGROLE";
GRANT "DBA" TO "QIUDINGROLE";
GRANT "RESOURCE" TO "QIUDINGROLE";
9、grant QIUDINGROLE to 用户名;
以上这些都是在oracle上操作 而且也不一定完全准确,希望您在oracle进行操作验证。
如有错误 望您谅解!
热心网友
时间:2022-04-10 06:03
用sql语句的话 确实比较烦 那就用em吧