sqloracle语句
⑴ oracle sql 语句
1. select top 1 *from (select count(BId) as cc from brrow where getdate() between T_time and B_time group by stuID) order by cc desc
2.select a.stuname,b.title,b.T_time,b.B_time from student a join
(select borrow.stuID,borrow.T_time,borrow.B_time,book.title from borrow join book on borrow.BID=book.bid) b on a.stuID =b.stuID
3.select *from student where stuID not in (select stuid from borrow where gedate() >B_time)
4.
go
create proc login
@stuid number(10),
@password varchar2(20),
@re varchar(20) output
as
declare @st number
select @st = stuid from student where stuid=@st
if isnull(@st,0)=0 return '-1'
else if @password = (select password from student where stuid =@stuid) and @password is not null rturn '0'
else return select stuname from student where stuid =@stuid
go
5.go
create function dd()
@bid number(10)
as
if ((select bid from borrow where bid =@bid) is not null )
begin
print '必须先删除借书信息记录表中所有对应于该图书的所有数据'
return
end
delete from book where bid =@bid
go
⑵ oracle 视图sql语句怎么写
方法和详细的操作步骤如下:
1、第一步,通过pl
/ sql登录到oracle数据库,见下图,转到下面的步骤。
⑶ oracle数据库常用sql语句
常用sql语句不分数据库类型,一般都是select查询,update更新,insert新增,delete删除。
⑷ Oracle数据库sql语句
DML操作(insert
,
delete
,
update)之后,一定要使用commit或rollback命令来结束该事务,否则直接关闭SQL
Plus,数据库默认rollback之前未提交的事务,所以今天你在select的时候
会显示未选定行。
而手动输入commit,rollback
这类的命令,是显示的提交事务(完成事务)。
如果在DML操作之后未及时显示的提交,而是又进行了DDL操作(create
alter...),则数据库会隐式的提交之前未完成的事务。
所以
下次一定要注意哦~~
⑸ oracle sql语句 分为哪些
Oracle SQL语句分类
SQL(Structured Query Language)即结构化查询语句,应用程序与数据库交互的接口
集数据操作、数据定义、数据控制等功能于一体
ANSI先后制定推出了SQL-89、SQL-92、SQL-99标准
oracle SQL 语句主要分为一下四类:
DML(Data Mannipulation Language)数据操纵语言:查询、操纵数据表资料行
SELECT : 检索数据库表或视图数据
INSERT : 将数据行新增至数据库表或视图中
UPDATE : 修改表或视图中现有的数据行
DELETE : 删除表或视图中现有的数据行
注意:DML语句不会自动提交事务!
DDL(Data Definition Language)数据定义语言:建立、修改、删除数据库中数据表对象
CREATE TABLE : 创建表
ALTER TABLE : 修改表
DROP TABLE : 删除表
注意:DLL语句会自动提交事务!所以:DML语句事务提交之前可以回滚,DDL语句不能回滚事务
DCL(Data Control Language)数据控制语言:用于执行权限授予与收回操作
GRANT : 给用户或角色授予权限
REVOKE : 收回用户或角色的所有权限
TCL(Transactional Control Language)事物控制语言:维护数据的一致性
COMMIT :提交已经进行的数据库改变
ROLLBACK : 回滚已经进行的数据改变
SAVEPOINT : 设置保存点,用于部分数据改变的取消
⑹ oracle SQL查询语句
SELECT LPAD(' ',(LEVEL-1)*3)||ename
FROM emp
START WITH ename='SMITH'
CONNECT BY PRIOR empno=mgr ;
SELECT ename
FROM emp
START WITH ename='SCOTT'
CONNECT BY PRIOR mgr=empno
ORDER BY LEVEL DESC ;
SELECT LPAD(' ',(LEVEL-1)*3)||ename
FROM emp
START WITH mgr IS NULL
CONNECT BY PRIOR empno=mgr ;
你问的是ORACLE中层次树状查询,START WITH 。。 CONNECT BY 用法。
START WITH 指明树的起点。至于是找上级还是下级(也就是你问的),关键就在于PRIOR的用
法。PRIOR的意思是前一个。
比如:START WITH ename='SMITH'
CONNECT BY PRIOR empno=mgr ;
的意思:ename='SMITH'表示树的起点,即第一行
CONNECT BY PRIOR empno=mgr 表示上一行员工的编号是当前行的管理者,即找SMITH的下属。
START WITH ename='SCOTT'树的起点,即第一行
CONNECT BY PRIOR mgr=empno 表示上一行员工的管理员编号是当前员工的编号,即找SCOTT的上级及间接上级。
⑺ 写出相关的Oracle SQL语句
CREATE
PROFILE
sim_profile
LIMIT
(
FAILED_LOGIN_ATTEMPTS
5
PASSWORD_LOCK_TIME
10
);
//第一步,创建概要文件
ALTER
USER
author
PROFILE
sim_profile;
//第二步,指定特定用户使用概要文件。
参考文档:
http://www.svn8.com/sql/Oracle/2010043031324.html
⑻ oracle 中的 sql语句查询
select
lpad('
',(level-1)*3)||ename
from
emp
start
with
ename='smith'
connect
by
prior
empno=mgr
;
select
ename
from
emp
start
with
ename='scott'
connect
by
prior
mgr=empno
order
by
level
desc
;
select
lpad('
',(level-1)*3)||ename
from
emp
start
with
mgr
is
null
connect
by
prior
empno=mgr
;
你问的是oracle中层次树状查询,start
with
。。
connect
by
用法。
start
with
指明树的起点。至于是找上级还是下级(也就是你问的),关键就在于prior的用
法。prior的意思是前一个。
比如:start
with
ename='smith'
connect
by
prior
empno=mgr
;
的意思:ename='smith'表示树的起点,即第一行
connect
by
prior
empno=mgr
表示上一行员工的编号是当前行的管理者,即找smith的下属。
start
with
ename='scott'树的起点,即第一行
connect
by
prior
mgr=empno
表示上一行员工的管理员编号是当前员工的编号,即找scott的上级及间接上级。
⑼ 一个简单的oracle sql 语句
打印出空值的原因很简单,oracle中
rownum永远按照默认的顺序生成,并且rownum只能使用<
<=,不能使用>
>=。
可以这样写:select
*
2
from
(select
rownum
r,e.*
3
from
(select
*
from
emp
order
by
sal)
e
4
where
rownum
<=8
5
)
6
where
r
>=5;
经过子查询后,此时的别名r只是一个普通的字段,就不再是按照默认生成的了
⑽ Oracle sql 语句
select * from (
select row_number() over(partition by buyer order by 排序字段) rindex , * from tablename
) where rindex>=100
row_number() over(partition by 分组字段 order by 排序字段)可实现分组f1-f5后再对每个组进行自定的排序编号,外面再嵌套一层select,直接取排序编号为前100的。