日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle sql语句 只读,Oracle_SQL语句

發(fā)布時(shí)間:2025/3/12 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle sql语句 只读,Oracle_SQL语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

------------------------Oracle 的SQL 語法--------------------------=======================第(1,2)章 結(jié) 合 語 句==========================》1:創(chuàng)建表空間create tablespace 表空間名datafile'存放文件的路徑_空間名_.dbf' size 30m;》2: 分配權(quán)限grant 權(quán)限| 角色 to 用戶名》3: 創(chuàng)建用戶create user 登陸名 identified by 密碼grant connect , resource to 登陸名》4:創(chuàng)建唯一索引create unique index index_列_empon on 表名 (列);》5:創(chuàng)建序列create sequence 自定義表名 start with 1 increment by 1;》6: 查看當(dāng)前序列的值select seql.currval from 表名》7:創(chuàng)建私有同義詞create synonym e(自己定義的一個(gè)) for 表名;》8: 創(chuàng)建共有同義詞create public synonym e for 表名;》9: 給某個(gè)用戶訪問的權(quán)限,可以訪問該同義詞grant select on e to 用戶名;》10: 創(chuàng)建大寫函數(shù)索引Create index index_ename on 表名 (upper(列));》間隔分區(qū)create table 表名partition by range (列)interval (numtoyminterval(3,'month'))(partition p1 values less than (to_date ('2013-04-01','yyyy-mm-dd')))asselect * from 表名=====================第(3)章 的 SQL 語 句=======================================PL/SQL 塊可執(zhí)行部分 其中變量語法如下:》1:聲明變量declarev_name varchar2(20);》2: 聲明和賦值declarev_Names varchar2(20):='戰(zhàn)三';》3:循環(huán)控制---------------(1)Loop循環(huán)語法:LoopEXIT Where ---條件滿足,退出END Loop;-------------(2)WHILE 循環(huán)語法:WHILK Loop要執(zhí)行的語法END Loop;》4:輸出語句dbms_ output.put_line ('您要輸出的內(nèi)容 , ZZZ.....想睡覺了.....');》5: 游標(biāo)聲明,打開,提取,關(guān)閉 (例子)declarecursor em_cursor isselect 列 from 表名 where (條件);--聲明兩個(gè)變量v_name employee name%type;v_sal employee%type;beginopen em_cursor ;--打開游標(biāo)loopfetch em_cursor into v_name,v_sal --提取游標(biāo)(提取行)exit when em_cursor%notfound; --判斷游標(biāo)是否為空,就退出dbms_output.put_line(v_name||v_sal); --輸出兩個(gè)變量endloop; --循環(huán)提取close em_cursor; --關(guān)閉游標(biāo)end;》6: 循環(huán)游標(biāo)取數(shù)據(jù)for i in 游標(biāo)名 loopdbms_output.put_line('用戶信息:'||i.userid||'-------'||i.username);(直接 i 不可取 i為對(duì)象)end loop;=========================第(4)章 的 SQL 語 句=======================================》1: 通過游標(biāo)修改數(shù)據(jù)declarecursor userinfo is select * from t_user for update;v_name varchar2(50);beginfor i in userinfo loopv_name :=i.username;update t_user set username='王五' where current of userinfo;dbms_output.put_line('用戶信息:'||i.userid||'-------'||i.username);end loop;commit;end;》2: 創(chuàng)建存儲(chǔ)過程create or replace procedure usertestiscursor userinfo is select * from t_user;beginfor i in userinfo loopdbms_output.put_line('用戶信息:'||i.userid||'-------'||i.username);end loop;end;》3: 調(diào)用存儲(chǔ)過程exec usertest;call usertest();beginusertest;end;》4: 存儲(chǔ)過程修改數(shù)據(jù)create or replace procedure usertest(v_name varchar2)isbeginupdate t_user set username=v_name where userid=1;if v_name is null then raisecommit;exceptionwhen others then rollback;end;exec usertest('zhangsan');》5: 過程中的參數(shù)--在過程中,in修飾的參數(shù),不允許在過程中給它賦值create or replace procedure usertest(v_name in varchar2,v_pwd out varchar2,v_show in out varchar2)isv_hello varchar2(50);begin-- v_name := 'name';v_pwd := 'pwd';v_show := 'show';v_hello := 'hello';dbms_output.put_line('信息:'||v_name||'-------'||v_pwd||'-------'||v_show||'-------'||v_hello);end;declarevp varchar2(50);vs varchar2(50);beginvs := 'cccccc';usertest('aaaaaaa',vp,vs);end;》5: 存儲(chǔ)過程的語法create or replace procedure 過程的名字(參數(shù)1 in/out 沒有長度的類型,參數(shù)2 in/out 沒有長度的類型) is過程中需要用的參數(shù)名 可以指定長度的類型;begin過程的內(nèi)容end;》6: 變量的類型的另外一種寫法--in傳遞的參數(shù),長度由外部控制--out傳遞的參數(shù),長度由內(nèi)部控制create or replace procedure usertest(v_name in t_user.username%type,v_num in t_user.userid%type)isv_hello t_user.username%type;beginv_hello := 'hello';dbms_output.put_line('信息:'||v_name||'-------'||v_num||'-------'||v_hello);end;declarevp varchar2(50);vs number;beginvs :=11111111111111111111;usertest('aaaaaaa',vs);end;》7: 定義外部變量var vnum number;var vid number;var vname varchar2(50);exec :vnum:=23;exec :vid:=4;exec :vname:='wangwu';exec userinfo(:vid,:vname,:vnum);create or replace procedure userinfo(vid t_user.userid%type,vname t_user.username%type,vnum out t_user.userid%type)isbeginvnum :=vid;dbms_output.put_line('信息:'||vid||'-------'||vname||'--------'||vnum);end;》 8: 創(chuàng)建函數(shù)create or replace function funuserreturn varchar2 isv_id number(8);uname t_user.username%type;beginv_id := 3;select username into uname from t_user where userid=v_id;return uname;end;declarevname varchar2(50);beginvname :=funuser;dbms_output.put_line('vname:'||vname);end;call funuser() into :vname;print vname;》 9: 創(chuàng)建包的規(guī)范create or replace package user_pkgisprocedure userselect(v_id t_user.userid%type,v_name t_user.username%type);function getname return varchar2;end;》10: 創(chuàng)建包的內(nèi)容create or replace package body user_pkgisprocedure userselect(v_id t_user.userid%type,v_name t_user.username%type)isvn varchar2(50);beginupdate t_user set username=v_name where userid=v_id;commit;dbms_output.put_line('v_name:'||v_name);end;function getname return varchar2isvname varchar2(50);beginselect username into vname from t_user where userid=3;return vname;end;end;----exec 為調(diào)用存儲(chǔ)過程exec user_pkg.userselect(3,'lisi');call user_pkg.getname() into :vname;print vname;※ 11: 創(chuàng)建視圖create or replace view empdeptasselect e.empno,e.ename,e.job,e.mgr,e.sal,e.hiredate,e.comm,d.dname,d.locfrom emp e,dept dwhere e.deptno=d.deptnowith read only (這為把值設(shè)為只讀);update empdept set ename='world' where empno=7369;create or replace view deptviewasselect * from emp where deptno=20with check option;update deptview set ename='world' where empno=7369;update emp set deptno=10 where empno=7369;》 12 : 創(chuàng)建數(shù)據(jù)庫鏈create database link mylinkconnect to tt identified by ttusing '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = jiahua)))';select * fromcompany@mylink;》13: 創(chuàng)建觸發(fā)器--當(dāng)dept表(deptno=10)的loc的deptno改為BJ的時(shí)候,修改相關(guān)的emp表的ename=BJcreate or replace trigger updateempafter update of loc on dept for each rowbeginupdate emp set ename='BJ' where deptno=10;end;

總結(jié)

以上是生活随笔為你收集整理的oracle sql语句 只读,Oracle_SQL语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。