1樓:
這是一個複製表資料的操作。
建立aaa表,這裡沒有定義aaa表的欄位以及型別,而是用select * from bbb,這就是把bbb裡面所有的欄位包含型別以及資料都複製到aaa中去。那麼就建立了一張和bbb表一樣的aaa表。包括資料等都一樣。
只是不包含bbb表中的主鍵以及約束等。
這個地方是不能使用select into來完成的。select into 是sqlserver的語法:同樣的效果select * into aaa from bbb。
2樓:great佯裝埋倦
1.insert into select語句
語句形式為:insert into table2(field1,field2,...) select value1,value2,... from table1
注意:(1)要求目標表table2必須存在,並且欄位field,field2...也必須存在
(2)注意table2的主鍵約束,如果table2有主鍵而且不為空,則 field1, field2...中必須包括主鍵
(3)注意語法,不要加values,和插入一條資料的sql混了,不要寫成:
insert into table2(field1,field2,...) values (select value1,value2,... from table1)
由於目標表table2已經存在,所以我們除了插入源表table1的欄位外,還可以插入常量。
2.select into from語句
語句形式為:select vale1, value2 into table2 from table1
要求目標表table2不存在,因為在插入時會自動建立表table2,並將table1中指定欄位資料複製到table2中。
3樓:匿名使用者
你如果表存在,就不用建立了直接select into就可以了
oracle 中sql 語句開發語法 select into含義
4樓:匿名使用者
和sqlserver的不一樣bai
sqlserver或者access中select into 是通過查du
詢資料來建zhi表
oracle中,這個daoselect into不能在語句中執行,必回須要放答到儲存過程,函式等等裡邊執行
譬如select to_char(sysdate,'yyyy-mm-dd') into v_date from dual;
這個v_date是用來放變數的,在後續的過程中來呼叫這個變數
但是這個一次只能放一個值,如果值過多的話需要用到遊標
你說的非維護語法是啥意思啊?你要有不懂的可以繼續問,但是資料的確不多,都是自己寫的被我放論壇上了
5樓:匿名使用者
和sqlserver中du的不一樣
一般在oracle中 select into用於儲存過程中如:select count(*) into v_count from table_name where id=1;
意思zhi就是把id=1的數量放到一變數daov_count中,在後專續的過程中呼叫這個變屬量
6樓:匿名使用者
select into 在mssql裡可用,在 oracle裡可以用
create table new_temptable as select * from table1
oracle中update trigger中嵌入select語句出錯
oracle 的 for each row 觸發器,不允許在 觸發器裡面,select update delete 自己這個表。你的觸發器是 before insert or updateon uup company baseinfofor each row 但是觸發器 裡面有 select fro...
oracle 缺失關鍵字,在Oracle中執行一個查詢語句總是報缺少關鍵字
case when 不能那麼用的。where org term unit y andmonths between mat date,org date 12 org term or org term unit m andmonths between mat date,org date org term...
oracle中的databaselink如何使用
sql create database link mydblink 2 connect to test identified by test123 3 using description 4 address list 5 address protocol tcp host 192.168.1.210...