oracle 数据常规操作(新手版)

注意:

  1.oracle中 SQL语句 需要使用 分号“;”结尾 ,否则会报错

  2.select sysdate from dual ; select 1+1 from dual ; DUAL 是虚构的表 ,不像SQLSERVER  直接可以使用 select 1+1 , select getdate()

 

我们常用的小操作

nvl(data,0) --相当于SQLSERVER isnull(data,0)

TO_DATE(STARTUSETIME,'YYYYMMDD') --字符串转时间格式 
TO_CHAR(VALUE) --转字符串类型 ceil(months_between(TO_DATE(STARTUSETIME),sysdate)) --直接获取两个日期之间相差的月份 类似于 DIFFDATE ceil() --向下取证 floor()--向上取证

select * from dual where rownum <=10 --相当于SQLSERVER select top 10 from temp


 

我们需要一个循环遍历,类似于SQLSERVER中 WHILE 循环

v_count := 0;
LOOP
    begin
      dbms_output.put_line(to_char(v_startusetime,'yyyy-mm-dd')); 
      commit;
    end;
    v_count := v_count + 1; 
    EXIT WHEN v_count >5 ;     -- 循环跳出条件   
END LOOP;

 

 

我们需要用一个事务控制

 --脑补上面执行代码

COMMIT; --提交事务  放到最后结尾处

    DBMS_OUTPUT.PUT_LINE('固定资产数据更新成功!');
   EXCEPTION  --拦截异常
    WHEN OTHERS THEN   --判断异常类型 
      ROLLBACK; -- 出现异常则回滚事务
      DBMS_OUTPUT.PUT_LINE('固定资产数据更新失败:');
      DBMS_OUTPUT.PUT_LINE(SQLERRM);

 

创建一个存储过程

create or replace procedure proc_gdzc_info_update
(
       p_cardcode  in char --编码
) as
v_count number;  --声明变量
v_cardcode   d_gdzc_info.cardcode%TYPE;    --调用表中的编码类型与长度

begin
    DBMS_OUTPUT.PUT_LINE(' hello wrod!'); --打印字符串
end    

 

调用存储过程方法

--存储过程调用方式
call proc_gdzc_info_Update("cardcode")
call proc_gdzc_info_Update() 

 

创建一个视图 、并调用它

CREATE OR REPLACE VIEW VW_CLASS
AS

SELECT * FROM DUAL  --查询的数据

--调用方式 SELECT * FROM VW_CLASS

 

我们把表锁了 ,需要解锁表操作

select 
b.owner TABLEOWNER
,C.MACHINE MACHINE
,b.object_name TABLENAME
,C.OSUSER LOCKBY
,C.USERNAME LOGINID
,c.sid SID
,C.SERIAL# SERIAL 
from v$locked_object a, dba_objects b, v$session c
where b.object_id = a.object_id 
AND a.SESSION_ID=c.sid;

alter system kill session '572,23597'
alter system kill session 'SID,SERIAL'; --举个例子

 

常敲代码小助手

创建表:CREATE TABLE 表名 (字段名 数据类型, 字段名 数据类型);
修改表结构:ALTER TABLE 表名 ADD (字段名 数据类型);
重命名字段:ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名;
删除字段:ALTER TABLE 表名 DROP COLUMN 字段名;
添加主键:ALTER TABLE 表名 ADD PRIMARY KEY (字段名);
删除主键:ALTER TABLE 表名 DROP PRIMARY KEY;
创建索引:CREATE [UNIQUE] INDEX 索引名 ON 表名(字段名);
删除索引:DROP INDEX 索引名;
创建视图:CREATE VIEW 视图名 AS SELECT 语句;
删除视图:DROP VIEW 视图名;
‌数据操纵语言(DML)‌:

插入记录:INSERT INTO 表名 VALUES (值1, 值2, ...);
查询记录:SELECT * FROM 表名;
更新记录:UPDATE 表名 SET 字段名 =WHERE 条件;
删除记录:DELETE FROM 表名 WHERE 条件;
‌数据控制语言(DCL)‌:

授权:GRANT 权限 TO 用户;
撤销权限:REVOKE 权限 FROM 用户;
‌事务控制‌:

提交事务:COMMIT;
回滚事务:ROLLBACK;

 

posted @ 2024-12-01 23:49  Mundo Novo  阅读(5)  评论(0编辑  收藏  举报