婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > plsql與tsql的語法不同

plsql與tsql的語法不同

熱門標(biāo)簽:百度地圖標(biāo)注員是干什么 貴陽智能電銷機器人官網(wǎng) 外呼系統(tǒng)鄭州 地圖標(biāo)注付款了怎么找不到了 外呼系統(tǒng)口號 北京外呼系統(tǒng)公司排名 溫州人工外呼系統(tǒng) 沈陽400電話是如何辦理 北京營銷外呼系統(tǒng)廠家
insert into testtable(recordnumber,currentdate) values (i,sysdate);
print ‘';
select @i=@i+1;
end;

比較一下就可以看出來到底那里不一樣了

plsql里面命令的結(jié)構(gòu)為
delacre
定義語句段
begin
執(zhí)行語句段
exception
異常處理語句段
end
這就是plsql程序總體結(jié)構(gòu)圖

定義變量與mssql的不同
基本方法
變量名 類型標(biāo)識符【notnull】:=值
例 age number(8):=26
多了定義復(fù)合數(shù)據(jù)類型變量的功能
1.多了%type 變量
declare
mydate user。testtable.currentdate%type;
還有 %rowtype類型的變量可以識變量獲得字段的數(shù)據(jù)類型,使用%rowtype可以識變量獲得整個記錄的數(shù)據(jù)類型。
變量名 數(shù)據(jù)表.列名%type
變量名 數(shù)據(jù)表%rowtype
declare
mytable testtbale%rowtype 包含了testtable 所有字段 只不過在輸出時候可以選擇輸出那個
begin
shelect * into mytable
from temuuser.tedttbale
where recordnumber=88
dbms_output.put_line(mytable.currentdate);
end;
還有就是有了定義符合變量
格式
type 復(fù)合變量名 is record(
變量 類型, 可以有好幾個);
變量名 復(fù)合變量名 這個變量名就好像java中類的對象一樣而復(fù)合變量名就是類名可以這樣理解 個人觀點
begin
select * into 變量名 from 表名 where 條件
dbms_output.put_line(變量名.表中的值)
end

另外還可以定義一維數(shù)組
type 表類型 is table of 類型 index by binary_integer
表變量名 表類型
index by binary_integer子句代表以符號整數(shù)為索引,
這樣訪問表類型變量中的數(shù)據(jù)方法就是“表變量名(索引符號整數(shù))”

Declare
type tabletype1 is table of varchar2(4) index by binary_integer;
type tabletype2 is table of tempuser.testtable.recordnumber%type index by
binary_integer;
table1 tabletype1;
table2 tabletype2;
begin
table1(1):='大學(xué)';
table1(2):='大專';
table2(1):=88;
table2(2):=55;
dbms_output.put_line(table1(1)||table2(1));
dbms_output.put_line(table1(2)||table2(2));
end;
一個標(biāo)準(zhǔn)的一維數(shù)組

定義多維表類型變量
定義了名為 tabletype1 的多維表類型,相當(dāng)于多維數(shù)組,table1 是多維表類型變量,將數(shù)據(jù)表 tempuser.testtable 中
recordnumber為 60 的記錄提取出來存放在 table1 中并顯示。

type tabletype1 is table of testtable%rowtype index by binary_integer;
table1 tabletype1;
begin
select * into table1(60)
from tempuser.testtable
where recordnumber=60;
dbms_output.put_line(table1(60).recordnumber||table1(60).currentdate);
end;

在來看下面的這個程序
set serveroutput on
Declare
result integer;
begin
result:=10+3*4-20+5**2;
dbms_output.put_line('運算結(jié)果是:'||to_char(result));
end;

|| 這個符號是連接語句
to_char(result) dbms_output.put_line函數(shù)輸出只能是字符串,因此利用 to_char函數(shù)將數(shù)值型結(jié)果轉(zhuǎn)換為字符型。
To_char:將其他類型數(shù)據(jù)轉(zhuǎn)換為字符型。 To_date:將其他類型數(shù)據(jù)轉(zhuǎn)換為日期型。 To_number:將其他類型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型。

再說下plsql中的控制語句組合有哪幾種

1. if..then..end if條件控制
if 條件 then
語句段;
end if;

2. if..then..else..end if條件控制
if 條件 then
語句段1;
else
語句段2;
end if;

3. if 嵌套條件控制
if 條件1 then
if 條件2 then
語句段1;
else
語句段2;
end if;
else
語句段3;
end if;

4.loop..exit..end loop 循環(huán)控制
loop
循環(huán)語句段;
if 條件語句 then
exit;
else
退出循環(huán)的處理語句段
end if;
end loop;

5. loop..exit..when..end loop 循環(huán)控制
采用 loop..exit..when..end loop 循環(huán)控制的語法結(jié)構(gòu)與loop..exit..end loop 循環(huán)控制類似
exit when 實際上就相當(dāng)于
if 條件 then
exit;
end if;

6.while..loop..end loop 循環(huán)控制
while 條件 loop
執(zhí)行語句段
end loop;

7.for..in..loop..end 循環(huán)控制
for 循環(huán)變量 in [reverse] 循環(huán)下界..循環(huán)上界 loop
循環(huán)處理語句段;
end loop;
最后一個出個例子
set serveroutput on
declare
number1 integer:=80;
number2 integer:=90;
i integer:=0;
begin
for i in 1..10 loop
number1:=number1+1; 在mssql里是 sclect @number=@number+1
end loop;
dbms_output.put_line('number1的值:'||to_char(number1));
end;
本人學(xué)java 的 對plsql一看覺的很簡單 和java比起來簡單多了但是oracle 命令只是一部分更多的東西需要我去學(xué)習(xí) 自夸一下 哈哈

在plsql 多了事務(wù)處理命令

commit命令
commit事務(wù)提交命令。在oracle中為了保證數(shù)據(jù)的一致性在內(nèi)存中將為每個客戶機建立工作區(qū),就是說在用commit命令之前的操作都在這個工作群里完成,只有在用commit命令之后才會把你寫的命令寫入到數(shù)據(jù)庫中。
有個自動進(jìn)行事務(wù)提交的命令
set auto on
關(guān)閉為 set auto off

rollback命令
rollback是事務(wù)回滾命令,在沒有提交commit命令千,如果發(fā)現(xiàn)delete insert update等操需要恢復(fù)的話,可以用rollback命令會滾到上次commit時的狀態(tài)。
set auto off 要先關(guān)閉自動提交
select * from scott.emp;
delete form scott.emp;
rollback
這個時候就可以看到 scott.emp還是以前的沒有變化

savepoint命令
這個命令時保存點命令。事務(wù)通常由多個命令組成,可以將每個事務(wù)劃分成若干個部分進(jìn)行保存,這樣回滾每個保存點,就不必回滾整個事務(wù)。
創(chuàng)建保存點 savepoint 保存點名
回滾保存點 rollback to 保存點名
來個例子
insert into scott.emp(empno,ename,sal) values(9000,'wang',2500); 先插入一個值
savepoint insertpoint; 創(chuàng)建一個還原點,名字叫insertpoint
rollback to insertpoint; 還原到那個還原點

下面開始說游標(biāo)
這個東西在mssql里沒有吧 我沒有印象
游標(biāo)不是c里面的指針,我一看到這個詞就想到了指針可惜何c里面的指針大不一樣 不要弄混了 估計沒人會弄混。
游標(biāo)可以說是一個臨時的數(shù)據(jù)存放的地方
要用游標(biāo)先要定義
cursor 游標(biāo)名 is select 語句
cursor這是游標(biāo)的關(guān)鍵字 selcet建立游標(biāo)的查詢命令
看個例子
set serveroutput on
declare
tempsal scott.emp.sal%type 定義了一個變量他是scott.emp.sal同一個類型
cursor mycursor is 定義一個游標(biāo)mycursor
select * from scott.emp
where sal>tempsal;
begin
tempsal:=800;
open mycursor; 打開這個游標(biāo)
end;
暈忘了 只是打開游標(biāo)沒有用 還要提取游標(biāo)的數(shù)據(jù)
用fetch命令
fetch 游標(biāo)名 into 變量1,變量2,。。。。;
或者
fetch 游標(biāo)名 into 記錄型變量名;
上面那個程序要改一下

set serveroutput on
declare
tempsal scott.emp.sal%type 定義了一個變量他是scott.emp.sal同一個類型
cursor mycursor is 定義一個游標(biāo)mycursor
select * from scott.emp
where sal>tempsal
new scott.emp%rowtype; 有定義了一個新的變量
begin
tempsal:=800;
open mycursor; 打開這個游標(biāo)
fetch mycursor into new; 讀取游標(biāo)數(shù)據(jù)把他添加到new中
dbms_output._line(to_char(new.sal)); 顯示結(jié)果
close mysursor; close關(guān)閉這個游標(biāo)
end;

游標(biāo)的屬性
1.%isopen屬性
就是判斷游標(biāo)是否打開,如果沒有打開就是用fetch語句提示錯誤
2.%found屬性
就是測試前一個fetch語句是否有值,有就返回true 沒有就返回false
3.%notfound屬性 和上面的相反
4.%rowcount屬性 判斷游標(biāo)的數(shù)據(jù)行數(shù)就是有多少數(shù)據(jù)

下面說下過程的概念 sql里沒有
完整的過程的結(jié)構(gòu)如下
create or replace 過程名 as
聲明語句段;
begin
執(zhí)行語句段;
exception
異常處理語句段;
end;
過程是有名稱的程序塊,as關(guān)鍵詞代替了無名塊的declare

創(chuàng)建實例的過程
創(chuàng)建一個名為tempprocdeure的過程,create是創(chuàng)建過程的標(biāo)識符,replace表示如果又同名的過程將覆蓋原過程。定義了一個變量,其類型何testtable數(shù)據(jù)表中的currentdate字段的類型相同,都是日期型,將數(shù)據(jù)表中的recordnumber字段為88的 currentdate字段內(nèi)容送入變量中,然后輸出結(jié)果。

set serveroutput on
creat or replace procedure tempuser.tempprocedure as
tempdate tempuser.testtable.currentdate%type;

begin
select currentdate
into tempdate
from testtable
where recordnumber=88;
dbms_output.put_line(to_char(tempdate));
end;
使用過程
set serveroutput on
begin
tempprocedure;
end;
下面說下帶參數(shù)的過程
1.參數(shù)類型
in 讀入?yún)?shù) 程序向過程傳遞數(shù)值
out 讀出參數(shù) 過程向程序傳遞數(shù)值
in out 雙向參數(shù) 程序過程互相傳遞數(shù)值
定義帶參數(shù)的過程
set serveroutput on
creat or replace procedure scott.tempprocedure(
tempdeptno in scott.dept.deptno%type,/*定義了一個in類型的變量*/
tempdname out scott.dept.danme%type,/*定義了一個out類型的變量*/
temploc in out scott.dept.loc%type)as /*定義了一個inout型的變量*/
loc1 scott.dept.doc%type;
dname1 scott.dept.dname%type;
begin
select loc into loc1
from scott.dept
where deptno=tempdeptno;
select danme into danme1
from scott.dept
where deptno=tempdeptno;
temploc:='地址'||loc1;
tempdname:='姓名'||dname1;

end;

定義好了 下面開始用了
set serveroutput on
declare
myno scott.dept.deptno%type;
mydname scott.dept.dname%type;
myloc scott.dept.loc%type;

begin
myno:=10;
mydname:=”;
myloc:=”;
scott.tempprocedure(myno,mydname,myloc);
dbms_output.put_line(myno);
dbms_output.put_line(mydname);
dbms_output.put_line(myloc);
end;
搞定了
就是說用重新定義的三個變量當(dāng)參數(shù)傳遞給上面定義的過程過程里帶參數(shù)的變量可以接受這三個變量的值
用java語言來解釋就是那個過程就是類 帶三個參數(shù)
這三個變量就是數(shù)據(jù) 當(dāng)然沒有對象了哈哈畢竟不是java么哈哈

今天寫到這里了 我要下班了 7.3

異常處理
就是程序中要處理特殊情況的辦法

1. 定義異常處理
定義異常處理的語法如下:
declare
異常名 exception;
2. 觸發(fā)異常處理
觸發(fā)異常處理的語法如下:
raise 異常名;
3. 處理異常
觸發(fā)異常處理后,可以定義異常處理部分,語法如下:
Exception
When 異常名 1 then
異常處理語句段 1;
When 異常名 2 then
異常處理語句段 2;

下面的 PL/SQL 程序包含了完整的異常處理定義、觸發(fā)、處理的過程。定義名為 salaryerror
的異常,在 scott.emp 數(shù)據(jù)表中查找 empno=7566 的記錄,將其值放入變量 tempsal 中,判斷
tempsal 值若不在 900 和2600 之間,說明該員工的薪水有問題,將激活異常處理,提示信息。

set serveroutput on
declare
salaryerror exception;
tempsal scott.emp.sal%type;
begin
select sal into tempsal
from scott.emp
where empno=7566;
if tempsal 900 or tempsal>2600 then
raise salaryerror;
end if;
exception
when salaryerror then
dbms_output.put_line('薪水超出范圍');
end;
您可能感興趣的文章:
  • PLSQL Developer登錄的默認(rèn)密碼介紹
  • Plsql Developer連接Oracle時出現(xiàn)Could not initialize oci.dll解決方案
  • Windows 64位下裝安裝Oracle 11g,PLSQL Developer的配置問題,數(shù)據(jù)庫顯示空白的完美解決方案(圖文教程)
  • Oracle基本PLSQL的使用實例詳解
  • win7 64位操作系統(tǒng)中Oracle 11g + plsql安裝教程詳解(圖解)
  • Oracle客戶端與plsql查詢數(shù)據(jù)亂碼修改成中文的快速解決方法
  • oracle(plsql)生成流水號
  • 解決plsql遇到亂碼的問題
  • plsql連接oracle數(shù)據(jù)庫報ora 12154錯誤解決方法
  • oracle客戶端PLSQL連接失敗解決方法
  • PLSQL developer12漢化過程

標(biāo)簽:衢州 溫州 衡水 包頭 淮北 潮州 定西 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《plsql與tsql的語法不同》,本文關(guān)鍵詞  plsql,與,tsql,的,語法,不同,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《plsql與tsql的語法不同》相關(guān)的同類信息!
  • 本頁收集關(guān)于plsql與tsql的語法不同的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美成人精品1314www| 日韩一级片网址| 日韩二区三区四区| 色偷偷久久一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲免费观看在线视频| 久久综合狠狠综合久久激情| 2020日本不卡一区二区视频| 狠狠色丁香婷婷综合| 欧美男男青年gay1069videost| 一区二区三区av电影| 91电影在线观看| 亚洲一本大道在线| 欧美一区二区三区日韩视频| 国产精品亚洲第一| 久久精品国产成人一区二区三区| 欧美一区二区三区系列电影| 麻豆成人综合网| 久久久久久99久久久精品网站| 国产ts人妖一区二区| 国产精品久久久久久久浪潮网站| 97se狠狠狠综合亚洲狠狠| 亚洲国产欧美日韩另类综合| 欧美一级高清片| 岛国av在线一区| 日韩av一区二区在线影视| 亚洲国产精品黑人久久久| 91啪九色porn原创视频在线观看| 日韩国产成人精品| 久久久久久久久岛国免费| 91论坛在线播放| 国产精品69毛片高清亚洲| 亚洲最新视频在线播放| 2欧美一区二区三区在线观看视频| 色噜噜狠狠一区二区三区果冻| 狠狠久久亚洲欧美| 亚洲大片免费看| 中文字幕一区二区三区av| 91精品国产综合久久福利软件 | 久久亚洲综合色| 色综合久久久久综合体| 精品一区二区三区欧美| 亚洲日本免费电影| 久久影音资源网| 日韩午夜激情视频| 欧美精品tushy高清| 91国偷自产一区二区使用方法| 国产一区二区视频在线播放| 午夜精品久久久久| 亚洲欧洲制服丝袜| 久久综合色一综合色88| 欧美情侣在线播放| 欧美亚洲另类激情小说| 国产精品一二三| 久久精品国产**网站演员| 奇米一区二区三区av| 一区二区三区高清在线| 日韩一区在线播放| 国产精品福利av| 美脚の诱脚舐め脚责91 | 日韩视频免费观看高清完整版 | 91视频com| 色综合色综合色综合| a在线播放不卡| 成人爱爱电影网址| 成人av网站在线| 成人黄页毛片网站| 91同城在线观看| 欧美日韩在线播放一区| 3d动漫精品啪啪一区二区竹菊| 欧美日韩一二三| 日韩三级在线观看| 国产日韩欧美制服另类| 日韩理论片一区二区| 亚洲丝袜精品丝袜在线| 亚洲一二三区视频在线观看| 亚洲777理论| 美女爽到高潮91| 国产不卡在线视频| 色婷婷久久综合| 欧美日韩在线直播| 久久久久亚洲蜜桃| 亚洲乱码中文字幕综合| 日韩国产欧美在线视频| 国产精品亚洲视频| 一本一道久久a久久精品| 日本韩国欧美三级| 欧美电影免费观看高清完整版 | 精品美女在线播放| 欧美激情一二三区| 午夜精品免费在线观看| 国产精品系列在线播放| 在线看国产一区二区| 精品欧美一区二区久久| 亚洲欧美在线高清| 激情图片小说一区| 欧美午夜片在线观看| 欧美理论片在线| 国产午夜久久久久| 五月开心婷婷久久| 波多野结衣亚洲| 亚洲精品在线三区| 亚洲一区二区高清| 国产福利一区二区三区视频| 欧美体内she精视频| 久久精品亚洲精品国产欧美kt∨| 一区二区在线观看视频| 日产欧产美韩系列久久99| www.欧美精品一二区| 久久综合久久99| 91年精品国产| 日韩欧美一区在线观看| 亚洲精品国久久99热| 国产精品夜夜嗨| 欧美日韩一级视频| 中文字幕一区二区三区在线播放 | 国产精品久久久一区麻豆最新章节| 一区二区理论电影在线观看| 国产999精品久久久久久绿帽| 91精品国产入口在线| 一区二区在线观看av| aa级大片欧美| 日韩一级黄色大片| 亚洲香肠在线观看| 色综合网色综合| 国产精品国产三级国产三级人妇| 日本欧美一区二区在线观看| 欧美日韩国产在线观看| 亚洲视频狠狠干| 国产成人午夜精品影院观看视频 | 久久国产婷婷国产香蕉| 欧美色图在线观看| 亚洲欧洲日产国产综合网| 成人综合在线网站| 久久精品亚洲精品国产欧美| 日本在线不卡视频一二三区| 色婷婷香蕉在线一区二区| 亚洲精品乱码久久久久久| 99国产精品久久久久| 综合久久久久久久| 99re6这里只有精品视频在线观看| 精品少妇一区二区三区免费观看 | 日韩二区三区四区| 欧美精品vⅰdeose4hd| 日韩黄色免费电影| 欧美日韩国产另类不卡| 日韩高清电影一区| 日韩一级高清毛片| 国产专区欧美精品| 中文字幕欧美日韩一区| 99久久久免费精品国产一区二区| 综合久久一区二区三区| 欧美无乱码久久久免费午夜一区| 日韩激情视频网站| 久久久久久综合| 91免费视频网址| 天天操天天干天天综合网| 欧美一区二区三区爱爱| 国产在线看一区| ●精品国产综合乱码久久久久 | 久久日韩精品一区二区五区| 激情综合网最新| 国产精品久久久久影院色老大| 在线亚洲+欧美+日本专区| 日本 国产 欧美色综合| 国产亚洲精久久久久久| 99精品国产视频| 亚洲国产精品一区二区尤物区| 欧美一区二区三区四区高清| 国产精一区二区三区| 亚洲一区二区五区| 久久久久久久久99精品| 91蜜桃在线免费视频| 视频一区免费在线观看| 中文字幕欧美日本乱码一线二线 | 精品精品国产高清a毛片牛牛| 韩国精品在线观看| 一区二区在线观看视频| 欧美成人一级视频| 色噜噜狠狠成人网p站| 久久69国产一区二区蜜臀| 亚洲精品成人精品456| 日韩欧美久久一区| 91麻豆精品一区二区三区| 蜜桃久久久久久久| 午夜电影一区二区| 亚洲男人的天堂一区二区| 欧美高清视频在线高清观看mv色露露十八| 国产成人精品三级| 美日韩一区二区| 天天av天天翘天天综合网| 中文字幕制服丝袜成人av| 欧美精品一区二区三区蜜桃| 色94色欧美sute亚洲线路二 | 国产成人av一区| 视频一区二区不卡| 亚洲一区二区成人在线观看| 中文无字幕一区二区三区| 精品国产乱码久久| 91精品国产综合久久小美女|