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))-- 对表设置主键的同时,数据库会自动的创建一个以主键作为名称的唯一索引的。