sql自動生成
1. 如何自動生成sql insert語句
第一步,啟動plsql,連接Oracle資料庫,打開sql窗口(默認就是sql窗口)
2
第二步,將以語句中的表名替換要insert數據的表的表名
SELECT 'INSERT INTO ' || STR_LINK(DISTINCT(T.TABLE_NAME)) || ' (' || STR_LINK(T.COLUMN_NAME) || ')' || ' SELECT ' || STR_LINK(T.COLUMN_NAME) || ' FROM DUAL;' FROM USER_TAB_COLUMNS T WHERE T.TABLE_NAME = upper('表名');
例如,要向表test_t中插入數據,則替換表名後的語句如下
SELECT 'INSERT INTO ' || STR_LINK(DISTINCT(T.TABLE_NAME)) || ' (' || STR_LINK(T.COLUMN_NAME) || ')' || ' SELECT ' || STR_LINK(T.COLUMN_NAME) || ' FROM DUAL;' FROM USER_TAB_COLUMNS T WHERE T.TABLE_NAME = upper('test_t');
3
第三步,執行第二步修改好的語句,在查詢結果的表格窗口中就可以看生成好的insert語句了
2. SQL資料庫列自動生成編號
兩種方法:
1、用Truncate
TRUNCATETABLEname可以刪除表內所有值並重置標識值
2、用DBCC CHECKIDENT
DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,
但如果表內有數據,則重設的值如果小於最大值可能會有問題,這時可以用 dbcc checkident("bc_pos",reseed)即可自動重設值。
注意:
只能為不允許空值且數據類型為 decimal、int、numeric、smallint、bigint 或 tinyint 的列設置標識屬性。此外,不能為主鍵列設置標識屬性。
(2)sql自動生成擴展閱讀:
關於上述標識列的引用
如果在SQL語句中引用標識列,可用關鍵字IDENTITYCOL代替,例如,若要查詢上例中ID等於1的行,
以下兩條查詢語句是等價的:
1、SELECT * FROM T_test WHERE IDENTITYCOL=1
2、SELECT * FROM T_test WHERE
3. 在sql中,自動生成ID號
CREATE SEQUENCE customer_sequence
START WITH 10000
INCREMENT BY 1;
INCREMENT BY 1;
CREATE TABLE customer(
customer_id NUMBER(5) PRIMARY KEY,
first_name VARCHAR2(20),
last_name VARCHAR2(20),
major VARCHAR2(30),
current_credits NUMBER(3));
INSERT INTO students(customer_id,first_name,last_name,major,current_credits)
VALUES(student_sequence.NEXTVAL,'Scott','Smith','Computer Science',11);
4. SQL 資料庫中如何自動生成訂單號
SQL server中可以用sequence來實現訂單號的自動生成。
例如創建如下序列:
create sequence orderSeq
as bigint --數據類型
start with 100000 --開始值
increment by 1 --增量
minvalue 1 --最小值
maxvalue 1000000--最大值
no cycle --不循環
cache 3 --設置cache大小為3
這樣訂單號就會從100000開始每次自增1生成。
5. SQL如何實現自動生成帶序號的表格
--創建字元串拆分函數
CreateFunction[dbo].[f_split1](@SourceSqlVarchar(max),@StrSeprateVarchar(2))
Returns@tempTable(idIntIdentity(1,1),colVarchar(max))
As
begin
Declare@chasVarchar(max)
Set@SourceSql=@SourceSql+@StrSeprate
While(@SourceSql<>'')
Begin
Set@ch=left(@SourceSql,Charindex(@StrSeprate,@SourceSql,1)-1)
Insert@temp(col)Values(@ch)
Set@SourceSql=Stuff(@SourceSql,1,Charindex(@StrSeprate,@SourceSql,1),'')
End
Return
End
--調用
Select*fromdbo.f_split1('ABCDEF','')
6. 利用"SQL"語句自動生成序號的方式
1.select row_number() over (order by name) as rowid, sysobjects.[name] from sysobjects
2.select id=IDENTITY(int,1,1), sysobjects.[name] as name into dbo.Test_Table from sysobjects
7. plsql怎樣自動生成sql語句
自動生成怎樣的sql語句?
select、還是建表、建視圖的DDL語句
如果是建表、建視圖的DDL,可以使用tools--export
導出成sql語句的方式。
如果是select語句,可以用
tools--query
builder
8. 如何通過sql語句自動生成列
create table ( id int identity(1, 1) not null primary key, other_column varchar(50))-- 對表設置主鍵的同時,資料庫會自動的創建一個以主鍵作為名稱的唯一索引的。