oracle sql server的區別,oracle與sqlserver的十大區別

http://blog.csdn.net/it_fengli/article/details/8213839 --sql server 與 oracle的區別: --DBMS 數據庫管理系統 --1.數據類型不同。 --sql server 的數據類型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatetime,money,decima, -

http://blog.csdn.net/it_fengli/article/details/8213839

--sql server 與 oracle的區別:

--DBMS 數據庫管理系統

--1.數據類型不同。

--sql server 的數據類型:int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatetime,money,decima,

--float,bit……

--oracle 的數據類型:number(p,s),char,varchar2,Date,LOB

--注意:insert into table_name values('1','張三','男',date'2012-3-5');---插入字符串日期前加date轉換類型

--2.獲得當前系統時間的函數不同。

--sql server :getdate()

--oracle:sysdate

--例如:設定日期格式的函數:to_char(sysdate,'yyy-mm-dd');

--3.在oracle中沒有默認約束的說法

--sql server 中添加默認約束:alter table talbe_name add DF_table_name default('男') for sex;

--oracle 中添加默認值:alter table table_name modify(sex default('男'));

--4.連接變量和字符串的方式不一樣

--sql server 中連接:使用“+”連接,例如:print

'aaaa'+@name;

--oracle 中連接:使用“||”連接,例如:dbms_output.put_line('aaa'||name);---name為變量

--5.oracle沒有identity自動增長列,而是使用序列實現增長

--sql server 自動增長:在表的主鍵列中可直接使用identity(1,1)實現增長

--oracle 使用序列自動增長:

create sequence se_id

start with 1

increment by 1

--使用序列實現自動增長:se_id.nextval

--6.條件語句if……else……的語法不同

--sql server中:

if 條件

begin

…………

end

else

begin

…………

end

--oracle中:

if 條件1 then

…………;

elsif 條件2 then

…………;

else

…………;

end if;

--7.case語句的語法不同

--sql server中:

--select ....case.....(else)....end....語句

select stuno '學號',case

when grade>=90 and grade<=100 then '★★★★'

when grade>=80 and grade<90 then '★★★'

when grade>=70 and grade<80 then '★★'

when grade>=60 and grade<70 then '★'

else '差'

end as '等級' from score

go

--oracle中:

declare

nums number:=&nos;--&nos表示提示傳入值

begin

case nums

when 100 then

dbms_output.put_line('滿分也,不錯');

when 90 then

dbms_output.put_line('90分頁很不錯了');

end case;

end;

--8.觸發器創建語法不同

--sql server中:

--首先判斷觸發器是否已經存在

if exists (select * from sys.sysobjects where name='tr_delete')

--如果存在先刪除

drop trigger tr_delete

go

--創建觸發器

create trigger tr_delete

on bookInfo

instead of delete

as

--定義變量

declare @bookid int

select @bookid=Bookid from deleted---deleted執行刪除語句( delete from BookInfo where BookId=1),自動生成的deleted表

--刪除與該圖書的相關記錄(先刪除從表再刪除主表)

delete from borrowinfo where bookid=@bookid

delete from backinfo where bookid=@bookid

delete from BookInfo where BookId=@bookid

--判斷

if @@error<>0

begin

print '刪除失敗'

rollback transaction

end

else

begin

print '刪除成功'

end

go

delete from BookInfo where BookId=1

--oracle中:

--創建觸發器

create or replace trigger tri_test

before insert or update or delete

on table_name

[for each row]---如果要使用 :new /:old 就必須使用行觸發器

declare

nums varchar2(20);

begin

select'F'||lpad('aa',5,0)into

nums from dual;

end;

--9.oracle中的存儲過程

--sql server中存儲過程:

--判斷存儲過程是否已經存在

if exists(select * from sys.sysobjects where name='proc_name')

--如果存在先刪除

drop proc proc_name

go

--創建存儲過程語句

create proc/procedure proc_name

@參數名1 數據類型 [out/output],

@參數名2 數據類型 [out/output]

as

…………

go

--調用存儲過程

--如果有輸出參數,則需定義變量(假設@參數2為輸出參數)

declare @變量名 數據類型

exec proc_name @參數名1='aaa',@參數名2=@變量名 out

---oracle中帶游標及循環的存儲過程

create or replace procedure proc_selCurrent

(

names varchar2

)

as

cursor cursor_sel

is

select DepositSum,cardType,name,state from CurrentAccount where name like '%'||names||'%';

dd number;

cc number;

nn varchar2(20);

sta number;

begin

open cursor_sel;

loop

fetch cursor_sel into dd,cc,nn,sta;

dbms_output.put_line('存款金額:'||dd||'姓名:'||nn);

exit when cursor_sel%notfound;

end loop;

close cursor_sel;

end;

--調用存儲過程

begin

proc_selCurrent('a');

end;

--10.創建用戶的方式不同

--sql server中

--1、創建登陸賬號:sa-----123456

create Login 登陸名稱 with password='登陸密碼'

--修改登陸賬戶:

alter Login 登陸名稱 with name='新登錄名稱' and password='新登錄密碼'

--禁用/啟用登陸賬號

alter Login 登錄名稱 disable(禁用)/enable(啟用)

--刪除登陸賬號

drop Login 登錄名稱

--2、創建用戶:

create user 用戶名 for/from Login 登陸名稱

--修改用戶名

alter user 用戶名 with name='新用戶名'

--刪除用戶名

drop user 用戶名

---授權限

grant select/update/delete/insert on 表名 to 用戶名

---oracle中:

---創建用戶語法:

create user 用戶名

identified by 密碼

default tablespace users

temporary tablespace temp

quota 10M on users

--修改密碼:

alter user 用戶名 identified by 新密碼

--授予權限:

grant create session to 用戶名

--刪除用戶

drop user 用戶名 cascade;

自己總結的一點,僅供參考 本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴 本文系統來源:php中文網

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529659.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529659.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529659.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle19C的dbhome,Windows server 安裝Oracle19c (WINDOWS.X64_193000_db_home.zip) 過程碰到的問題總結...

Oracle19c的下載地址&#xff1a;鏈接: https://pan.baidu.com/s/1snqyViOAoeffAztPes_Tvw提取碼: 9kb6Oracle19c的安裝過程&#xff1a;解壓縮安裝包&#xff1a;解壓結果 以管理員方式運行setup開始安裝 一直默認走到安裝完成即可創建用戶cmd執行sqlplus命令&#xff0c;輸入…

oracle01537,ORACLE REUSE實驗

一、查看數據文件位置SQL> show user;User is "SYS"SQL> desc dba_data_files;Name Type Nullable Default Comments--------------- ------------- -------- ------- ---------------------------------------------------FILE_NAME …

oracle數據庫配置管理,Oracle配置管理

一、連接Oracle1、Oracle建立連接的過程無論是通過sqlplus命令連接還是第三方工具遠程連接到Oracle&#xff0c;都需要建立客戶端與服務端之間的連接。Oracle Net Service組件就是為了用于建立連接的&#xff0c;這個組件在安裝Oracle時已經安裝。1)在服務器端有一個listener監…

oracle 插入一個語句,oracle如何通過1條語句插入多個值 oracle通過1條語句插入多個值方法...

本篇文章小編給大家分享一下oracle通過1條語句插入多個值方法&#xff0c;小編覺得挺不錯的&#xff0c;現在分享給大家供大家參考&#xff0c;有需要的小伙伴們可以來看看。在實踐過程中遇到一個問題&#xff0c;我想往數據庫插入多條數據時&#xff0c;使用了如下語句&#x…

linux內核 默認路由表,[Linux] linux路由表-Go語言中文社區

路由表用于決定數據包從哪個網口發出&#xff0c;其主要判斷依據是目標IP地址Linux路由表其實有2個主要概念&#xff1a;按順序走路由策略,在路由策略對應的路由表中匹配規則路由策略(rule)路由表(table)查看所有的路由策略,32766那個策略最有用,對應的main路由表也是默認展示的…

linux添加源地址ping,實戰經驗:Linux Source NAT在Ping場景下的應用

原標題&#xff1a;實戰經驗&#xff1a;Linux Source NAT在Ping場景下的應用有時候&#xff0c;有這樣的一種需求&#xff1a;需要修改IP數據包中的源地址&#xff0c;比如&#xff0c;從某一個主機發送Ping包到另一個主機&#xff0c;需要修改源地址為另一個源(通常&#xff…

mac遠程linux的ide,Jupyter notebook在mac:linux上的配置和遠程訪問

IPython 和 JupyterIPython 通常指的是一個 Python REPL(交互式解釋器) shell。提供了遠比 Python shell 強大的 shell 環境。IPython 是 Iteractive Python shell的縮寫。 Notebook 是一個基于 IPython 的 web 應用。截止 IPython 3.0 &#xff0c;IPython 變得越來越臃腫&…

Linux升級glibc版本漢字亂碼,Linux CentOS6升級glibc庫過程

CentOS6升級glibc庫過程hadoop無法加載native庫&#xff0c;可能原因是 glibc庫版本過低&#xff0c;需要升級。第一&#xff1a;安裝以下軟件yum -y install zlib zlib-devel gcc gcc-c libtool openssl openssl-devel automake autoconf libtool pcre*第二、查看系統glibc版本…

linux圖形界面 革命,Windows 95帶來的革命

CDECDE1993年6月-在“公用桌面環境“是與Sun&#xff0c;惠普&#xff0c;IBM和合資Unix系統實驗室。CDE&#xff0c;通用桌面環境(CommonDesktopEnvironment)的縮寫。CDE是一種運行于UNIX&#xff0c;基于Motif部件工具箱開發的商業桌面環境。惠普的OpenVMS采用CDE作為標準的桌…

real time linux pdf,【整理】ubuntu real time Linux

ubuntu real timeUbuntu不支持實時可參考看看如何才能支持想要自己編譯實時內核的話參考去&#xff1a;下載&#xff1a;The Real Time Preempt Patch然后自己編譯即可。對于實時系統所支持的功能和特性以及平臺&#xff0c;詳見這里提供了 已編譯好的實時的Debian相關內容或參…

arm64 linux 除零正常返回,arm64程序調用規則

前言這篇主要介紹arm64程序調用規則&#xff0c;詳細分析了程序調用過程中&#xff0c;參數是如何傳遞的。Android、iOS、Linux等基本遵循這些規則&#xff0c;但是各個操作系統平臺也有小部分自己特定的規則。下一篇&#xff0c;我將介紹iOS平臺的特定規則。術語介紹術語意義A…

蘋方字體 for linux,蘋果蘋方字體

蘋果蘋方字體是一款很實用的字體軟件&#xff0c;蘋果蘋方字體是為中國蘋果用戶打造的全新字體&#xff0c;共有六種字重&#xff0c;使用方便&#xff0c;能夠滿足用戶在閱讀時不同的字體需求&#xff0c;并且蘋果蘋方字體還可以在安卓、Linux 等其他平臺和設備上使用&#xf…

linux系統關機half,Linux 學習 (六) 關機與重啟命令

JavaScript基礎 DOM的操作1.DOM的基本概念 DOM是文檔對象模型,這種模型為樹模型:文檔是指標簽文檔:對象是指文檔中每個元素:模型是指抽象化的東西. 2.Windows對象操作 一.屬性和方法: window對象——瀏覽器 ...推薦《HeadFirst設計模式》相對于國內初版的,HeadFirst真的是更好的…

職坐標c語言,C/C++知識點之hexdump的C語言實現

本文主要向大家介紹了C/C知識點之hexdump的C語言實現&#xff0c;通過具體的內容向大家展示&#xff0c;希望對大家學習C/C知識點有所幫助。1 void hexdump(char *buf, int len)2 {3 int i 0;45 printf("\n----------------------hexdump-----------------------…

C語言編雜志程序,c語言程序錯誤修改

題目:雜志訂閱管理系統使用計算機對一種雜志的訂閱進行管理,該雜志最多訂戶不超過10人,每個訂戶的信息包括:姓名 性別 地址 電話號碼 雜志單價 訂閱數 訂閱期限(至**年**月)。現要求用菜單選擇并完成下述的功能&#xff1a;(1)增加新訂戶&#xff0c;既將訂戶的全部信息輸入到文…

c語言關鍵詞中英翻譯機編程,課程設計--C語言關鍵字中英翻譯機

《課程設計--C語言關鍵字中英翻譯機》由會員分享&#xff0c;可在線閱讀&#xff0c;更多相關《課程設計--C語言關鍵字中英翻譯機(21頁珍藏版)》請在人人文庫網上搜索。1、課課 程程 設設 計計 報報 告告 學院、系&#xff1a; 專業名稱&#xff1a; 課程設計科目 所在班級&…

c語言參數不能用 嗎,如何在C語言中禁止“未使用的參數”警告?

您可以使用gcc / clang的未使用屬性&#xff0c;但是我在標頭中使用這些宏&#xff0c;以避免在整個源代碼中__attribute__都有gcc特定的屬性&#xff0c;而且到處都有點冗長/難看。#ifdef __GNUC__# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))#else# defin…

c語言龍貝格積分法實驗報告,數值作業:龍貝格算法計算積分C語言實現

數值作業:龍貝格算法計算積分C語言實現數值作業:龍貝格算法計算積分C語言實現根據Romberg算法計算定積分&#xff0c;和變步長的Simpson算法的輸入都一樣&#xff0e;算法基本分析&#xff1a;輸入a,b(積分上下限),n為積分區間等分數&#xff0c;eps為計算精度&#xff0c;我這…

軟件設計師考c語言,軟件設計師教程考點精講之C語言三大定律

2016下半年軟考軟件設計師報名即將開始&#xff0c;同學們是否在學習過程中遇到了一些困難&#xff0c;下面由希賽軟考學院為打算參加下半年考試的你們準備了一些軟件設計師教程考點精講之Java編程性能措施&#xff0c;希望對大家有所幫助。自己總結的&#xff0c;覺得能幫助初…

用c語言程序算自己的年齡,新手編的小程序:計算年齡和出生后經歷的天數的小程序...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#includeint main(){int i,j,k,t,m,a,b,c0;int x,y,z,n;printf ("請按下面格式輸年-月-日\n");printf("請輸入現在年月日&#xff1a;\n");scanf ("%d-%d-%d",&i,&j,&k);printf("請…