Ⅰ sql使用insert插入多條數據時表中的數據排序和我插入時的排序不同,看下圖表中的數據和我查詢語句的順序
這很正常,因為數據表某些設置了索引,在這種情況下,系統會自動按相應數據表設置的索引的排序規則排序數據行,原始的插入順序就可能會被忽略(插入順序與排序規則如果不一致的話)。就提問中的圖片來看,PName應該設置了索引並規定了升序排序。
如果要求數據表按插入時的數據行的順序顯示數據,除了自增ID欄位外其他欄位不得設置索引。
其實數據表中顯示的排序並不重要,只是方便查看數據而已。如果需要的話,我們幾乎可以任意的排序規則在查詢里運用ORDER BY子句排序數據行,非常方便的,沒有必要在意數據表裡的排序外觀。
Ⅱ SQL可以按照欄位的順序插入么
SQL 語句就是一個字元串,你可以隨便拼接啊!你的意思是不是傳來兩個參數第一個是欄位名,第一個是值啊?這樣很好辦,你定義一個String sql ="UPDATE price set "+ 參數一+"="+參數二就OK了,sql語句是個字元串你可以隨便拼接,只要符合要求就行!
Ⅲ sql 順序插入字元型序號
oracle代碼:
declare v_i number(10);
begin
v_i := 1;
while v_i <= 1001 loop
insert into bar (barcode) select '00'||to_char(v_i+999) from al;
v_i := v_i + 1;
end loop;
end;
/
補充:
你是什麼資料庫呀
sybase,sql server:
declare @v_i int
begin
select @v_i = 1
while @v_i <= 1001
begin
insert into bar (barcode) select '00'+convert(varchar,@v_i+999)
select @v_i = @v_i + 1
end
end
go
Ⅳ sql 按輸入順序輸出 並能在任意位置插入
你是什麼資料庫呀?
你可以通過 設置一個 自動遞增列 的機制來處理。
我看了看你的描述,想法是設置一個序號列做主鍵,其餘用觸發器完成。
那我估計你的資料庫, 可能是 Oracle ,
下面是 Oracle 的 序列號 + 觸發器的例子代碼
首先是創建序列號
SQL>CREATESEQUENCEtest_sequence2
2incrementby1--每次遞增1
3startwith1--從1開始
4nomaxvalue--沒有最大值
5minvalue1--最小值=1
6NOCYCLE;--不循環
Sequencecreated.
下面是創建表 和 觸發器
SQL>CREATETABLEtest_create_tab2(
2idINT,
3valVARCHAR(10),
4PRIMARYKEY(id)
5);
Tablecreated.
SQL>
2BEFOREINSERTONtest_create_tab2
3FOREACHROW
4BEGIN
5SELECTtest_sequence2.nextvalINTO:new.idFROMal;
6END;
7/
Triggercreated.
下面是插入數據的模擬操作。
SQL>INSERTINTOtest_create_tab2(val)VALUES('NOid');
1rowcreated.
SQL>INSERTINTOtest_create_tab2(id,val)VALUES(1,'idnouse');
1rowcreated.
SQL>SELECT*FROMtest_create_tab2;
IDVAL
------------------------------
1NOid
2idnouse
Ⅳ SQL按順序插入數字
insertintofoo(xxx,yyy)
select(selectCOUNT(*)fromfoo)+1,zzzfrombar
Ⅵ SQL添加一個列 然後順序賦值
還有一種簡單的方式,就是你先增加一列,然後在EXcel 里拉一下 你要多少個 ,然後復制到資料庫中 ,oracle 就可以這樣乾的 ,用plsql
Ⅶ SQL2005 資料庫 插入數據的順序如何按照時間順序
create table simp
(
id int,
time datetime --SQL里自帶時間格式
)
insert into simp(id,time) values (100,'2005-3-23 11:23:25')
go
select * from simp
drop table simp
決定輸入的日期如何解釋的是set dateformat設置
SET DATEFORMAT
設置用於輸入 datetime 或 smalldatetime 數據的日期部分(月/日/年)的順序。
語法
SET DATEFORMAT { format | @format_var }
參數
format | @format_var
是日期部分的順序。可以是 Unicode 或轉換為 Unicode 的 DBCS。有效參數包括 mdy、dmy、ymd、ydm、myd 和 dym。美國英語默認值是 mdy。
注釋
該設置僅用在將字元串轉換為日期值時的解釋中。它對日期值的顯示沒有影響。
SET DATEFORMAT 的設置是在執行或運行時設置,而不是在分析時設置。
許可權
SET DATEFORMAT 許可權默認授予所有用戶。
示例
下例使用不同的日期格式處理不同格式的日期字元串。
SET DATEFORMAT mdy
GO
DECLARE @datevar datetime
SET @datevar = '12/31/98'
SELECT @datevar
GO
SET DATEFORMAT ydm
GO
DECLARE @datevar datetime
SET @datevar = '98/31/12'
SELECT @datevar
GO
SET DATEFORMAT ymd
GO
DECLARE @datevar datetime
SET @datevar = '98/12/31'
SELECT @datevar
GO
Ⅷ 如何用SQL語言順序插入數字
我這邊sql server沒有出現重復行號的問題,估計sql server是select 一條 插一條 重新select一條 再插一條。你那邊是先全部select 再全部插入。
Ⅸ 請問sql server中如何把一張表的一列數據按順序插入到另一張表的列中,兩邊的順序需一致
樓上的回答基本正確,簡單來寫就是:
insert into 表2(列名) Select 列名 From 表1;
但是你的問題問的不對,"兩邊的順序需一致"這說明你資料庫理論沒學過,數據在表裡存儲是以「集合」方式進行存儲的,即沒有順序。這就是說存儲是不按順序的(DBMS負責),但顯示可以有順序。
即
Select * From 表2 order by 列名 descend;\\例如降序
Ⅹ sql server中,怎麼對數據按照插入的先後次序排序
主鍵如果是自增的,直接按主鍵來排序就行,如果不是。那你就得建立一個SORT列專門為其排序用,很靈活,你可以存拼音首字母按其排序,也可以存先後順序。