oracle sql 裡面可以用if 語句嗎 語法是什麼

時間 2021-09-07 04:08:50

1樓:永恆度蘭寧

insert 語句中值的順序如果和表結構一致可以省略列名列表。

這個sql的意思沒看懂,我給分析一下看對不對,

你是不是想表達這個意思:

如果在yangao這個表中存在age3=4的資料,那麼,就向yangao中插入一行資料,行資料的內容是(4,null,1).

如果是這樣的話,那麼if用的是不對的。

在sql裡面條件的關鍵字是where。

insert into yangao values(4,null,1)

where exists (select * from yangao where(age3=4));

commit;

但如果你想表達的是:

在yangao表中插入一條資料,如果存在(select * from yangao where(age3=4)) 這樣的資料就提交的話,那麼應該這麼寫:

insert into yangao values (4, null, 1);

select count(*) into n_count from yangao where (age3 = 4);

if n_count > 0 then

commit;

end if;

2樓:換寶之家

insert into yangao( 對應欄位名稱1, 對應欄位名稱2, 對應欄位名稱3)

select 4,null,1 from yangao where age3=4 and rownum =1

3樓:匿名使用者

if exists (select * from yangao where age3 =4)

begin

insert into yangao values (4,null,1)end

4樓:匿名使用者

可以用case when then else end試試

在oracle sql語句裡有沒有if...else...的用法,請各位大俠給個例子看看,灰常感謝!! 10

5樓:匿名使用者

oracel資料庫中,sql語句中沒有if else可以使用 decode() 或者 case when then else end

select decode('1','1','相等','不相等') from dual;

select case when '1'='2' then '相等' else '不相等' end from dual;

6樓:匿名使用者

sql裡的判斷用case when。

例如:select product_id,product_type_id,

(case

when product_type_id=1 then 'book'

when product_type_id=2 then 'video'

when product_type_id=3 then '***'

when product_type_id=4 then 'cd'

else 'magazine'

end) as type

from products ;

7樓:匿名使用者

oracle 的sql裡面是沒有直接的if else 語句的,可以用decode函式或者case when簡單的代替。

比如 selcect decode(表1的列1,等於a,結果a,等於b,結果b,其他結果c) from 表1。

case when也可以。

select ***,

( case ***

when 'f'

then '男'

when 'm'

then '女'

else ' '

end) 性別

from table

真正的if else 在oracle的pl/sql裡面,就和其它的程式判斷一樣,也有變數什麼的

8樓:

沒有if else的用法。

一般來說,要實現if else的功能,可以使用下面3種方式實現:

1、可以使用case when 條件 then 結果1 else 結果2 end;

2、使用decode()函式。

3、可以使用function來返回值,在function和procedure中可以使用if ..... end if;

9樓:匿名使用者

case when ......... then ..............else ...................... end

有這樣的結構

10樓:丶花兒開在雨季

sql 語句我只用過 when ... then ... else ...

,你說的if else 倒是在儲存過程中常用 if .... then .... else....

11樓:匿名使用者

case when 1=1 then 1 else 2 end

case when 1=1 then 1 when 1<> 1 then 2 else 0 end

12樓:匿名使用者

在oracle中,沒有完全的if...else的用法,在遊標中,友if..end if的用法

if emp>500 then insert into。。values() end if

if emp>1000 then intsert into...

13樓:匿名使用者

共有bai3中型別,簡單du

分支、二重zhi分dao

支和多重分支。回

語法:if condition then

statements;

[elseif condition thenstatements;

][else

statements;

]end if;

示例答:

declare

v_empno scott.emp.empno%type;

v_job scott.emp.job%type;

begin

select t.empno,t.job into v_empno,v_job from scott.emp t where t.empno=&empno;

if v_job='clerk' thenupdate scott.emp t set t.sal=t.sal*1.1 where t.empno=v_empno;

else

update scott.emp t set t.sal=t.sal*1.3 where t.empno=v_empno;

end if;

end;/

14樓:匿名使用者

請使用case when 條件1 then 結果1

when 條件2 then 結果2

else 結果3 end;結構

oracle的sql語句中的(+)是幹什麼用的?

15樓:匿名使用者

oracle特有的左外聯書寫方式,當然你也可以用傳統的通用的左外聯,比如給你舉個例子

select s.name as 姓名,g.grade as 分數,c.cid as 課程名

from tbl_student s left outer join tbl_grade g on s.studentid=g.sid left outer join tbl_class c on g.

cid=c.classid

它跟下面等價

select s.name as 姓名,g.grade as 分數,c.classname as 課程名

from tbl_student s,tbl_grade g,tbl_class c

where (s.studentid=g.sid(+)) and (g.cid=c.classid(+))

16樓:匿名使用者

這個(+)是資料連線的意思,用於表外連結,外連結舉例:select a.ename,b.

ename from emp a,emp b where a.mgr=b.empno(+);--外連線 內表或倆表比較有+端強制顯示空結果

select a.ename as ben,b.ename as shangji from emp a,emp b where a.

mgr=b.empno(+) and a.hiredate

hiredate;

select a.dname,b.* from dept a,emp b where a.deptno=b.deptno(+) order by b.empno;

oracle是用什麼語言?是sql語言嗎?

17樓:匿名使用者

oracle使用的是sql語言。

結構化查詢語言(structured query language)簡稱sql,是一種特殊目的的程式語言,內是一種資料庫查詢和程

容序設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;同時也是資料庫指令碼檔案的副檔名。

結構化查詢語言是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者瞭解具體的資料存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為資料輸入與管理的介面。結構化查詢語言語句可以巢狀,這使它具有極大的靈活性和強大的功能。

2023年10月,美國國家標準協會對sql進行規範後,以此作為關係式資料庫管理系統的標準語言(ansi x3. 135-1986),2023年得到國際標準組織的支援下成為國際標準。不過各種通行的資料庫系統在其實踐過程中都對sql規範作了某些編改和擴充。

所以,實際上不同資料庫系統之間的sql不能完全相互通用。

18樓:御劍晨風

oracle既是rdbms又是oodbms,支援sql的較新版本(至少sql99),其他受支援的語言(指令碼)可以查oracle官方的*****。

19樓:

oracle,是用pl/sql,它可以

相容baisql99, tsql只有相容sql99的那部分可以用,其他是du

zhi不能用的.

pl/sql是oracle對標準資料dao庫語言的擴充套件,procedure language.

pl/sql可以用來編內寫儲存過程,還有一些資料庫管理的功能.其他的tsql,informix sql 也都符合sql99標準,只是編寫儲存過程的語法各不一樣.

就是說,如果不編寫儲存過程,只進行查/插/刪/改 4種功能,那麼各家sql基本就是相容的容.

20樓:匿名使用者

可以,登陸sqlplus就可以使用sql語句

21樓:

sql 是必須會的。

但是oracle的後面也有物件導向的

22樓:匿名使用者

好象聽說的是 tsql 語句吧 在oracle 裡也可以使用

具體也不太清楚

sql server的sql語句和oracle的sql語句有什麼不同嗎?

23樓:荼糜

oracle與sql server都遵循sql-92標準:

區別如下:

1.oracle中表名,欄位名,儲存過程名,變數名不能超過30個字串長度。

2.oracle中不支援top 語法。使用whererownum < n 代替。但需要注意如果在top前有排序的操作,則需要先排序在利用rownum取得。

3.oracle中游標的使用與sqlserver中有挺大差別,主要是在迴圈控制方面不一致。

在oracle中如果某列是date型別,那麼它預設的格式是yyyy-mm-dd,如果使用where coldate = ‘2005-06-08 17:14:57’就會出錯,‘2005-06-08’可以。

如果此時需要精確比較時間(小時,分,秒),可以採用下列方法:to_date('2005-6-8 17:14:

57','yyyy-mm-dd hh24:mi:ss')。

由於oracle和sqlserver在datetime上對sql標準的拓展實現方式不同,因此不能用同一個sql實現。

4.oracle中的timestamp(時間戳)與sqlserver中的差別很大。sqlserver中的timestamp是二進位制格式儲存在資料庫中,可以將dataset中的這個欄位型別設定為base64binary型別。

oracle中的timestamp是時間格式儲存的。因此,無法用同一個dataset既裝載sqlserver的timestamp,有裝載oracle的timestamp.由於在應用程式中很少用到這個值,因此可以不檢索這個欄位。

5.oracle中的timestamp不能像sqlserver在傳入資料的時候自動填充,可以設定預設值systimestamp來實現類似功能。

6.oracle中沒有boolean的欄位型別,可以用intger或者char代替sqlserver中的bit型別。

7.oracle中會將””空字串當多null處理,也就是說,當應用程式往資料庫中插入一個空字串時,實際資料庫會嘗試插入一個null。如果這個欄位是notnull型別,那麼就會出錯,這種情況下可以用別的預設值代替空字串。

當從sqlserver匯入資料到oracle的時候,在notnull列上的空字串會導致匯出操作失敗。此時可以在匯出嚮導中手工修改sql指令碼,將空字串設定成一個特殊值。

8.oracle中不支援,select . . into建立新表,要用create table 表名as select 語句 ,建立新表。

9.在oracle中連線字串用 ‘||’ 或concat(col1,col2)函式,不能使用‘+’。

統配符 ,[^] ,oracle好像也不支援。

炫舞裡面獻花可以用哪些花

裡面的 感恩花束99人氣,5qb。端午節粽子99人氣,3.5qb。月兔巧克力99人氣,5qb。七夕花束99人氣,3qb。紫荊花99人氣,5qb。康乃馨花束99人氣,7qb。情人節珍藏紅玫瑰99人氣,5qb。情人節珍藏巧克力99人氣,5qb。jolin百合花束40人氣,5qb,元宵人氣寶石20人氣,2...

建築可以用幾次,建築模板可以用幾次

模板的使用次數正常在4 8次左右,最主要是的看工人使用情況,沒有乙個準確的 生產工藝不同 用料不同 也就不同,一分錢一分貨。建築模板是由木段旋切成單板或由木方刨切成薄木,再用膠粘劑膠合而成的三層或多層的板狀材料,通常用奇數層單板,並使相鄰層單板的纖維方向互相垂直膠合而成。對於很多建築工程施工工地採購...

c語言裡可以用vector嗎,c語言裡面可以用stl嗎?

就算是c 我也一向不用vector,我一直認為自己用指標去實現的話,寫出的 應該是效率最高的 旁笑槐 c語言不能用vector,但你可以自己寫個隨機訪問adt或連結串列adt 僅僅是c標準庫沒提供vector的功能而已,你完全可以自己寫。 1 c語言不能用vector,c標準庫沒提供vector的功...