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語言不能用vector,但你可以自己寫個隨機訪問adt或連結串列adt 僅僅是c標準庫沒提供vector的功能而已,你完全可以自己寫。 1 c語言不能用vector,c標準庫沒提供vector的功...炫舞裡面獻花可以用哪些花
建築可以用幾次,建築模板可以用幾次
c語言裡可以用vector嗎,c語言裡面可以用stl嗎?