http://www.cnblogs.com/azhqiang/p/4050331.html 在进行数据库操作时, 我们经常会遇到批量向数据库中写入记录的情况. 在这里我提供3种操作方式: 1. 单条语句循环插入, 这是最笨的方法: for i := 0 to 100 do ADOCommand1.Execute('IINSERT INTO .....') //伪码, 只是说明意思 2. 多条语句批量插入, 将多条Insert语句拼成一条语句, 一次执行: for i :=
declare @i intdeclare @qid int set @i=1set @qid=100 while @i<50000begininsert into Order(orderid,ordername) values(@qid,'订单名称')set @i=@i+1set @qid=@qid+1end 海量语句查询代码优化: 具体要注意的:1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t w
sql语句写法: begin for i in 1 .. 100 loop insert into table_name values(....); end loop; commit; end; 例子: begin for i in 1 .. 100 loop insert into toilet values(i+1,null,'张三'); end loop; commit; end;
SQL> create table tt_test ( x int, y char(50) ); Table created. SQL> SQL> begin 2 for i in 1 .. 100000 3 loop 4 insert into t values ( i, 'x' ); 5 end loop; 6 commit; 7 end; 8 / PL/SQL procedure successfully completed. SQL> SQL> select coun
declare @i int set @i=1 while @i<(10000)begin INSERT INTO [Table]( [IDi] ,[IDo] ,[Synci] ) ( SELECT top 1 [IDi] ,@i ,[Synci] FROM [Table] ) set @i=@i+1 end
使用SQL中的循环,可以实现许多我们需要的操作,比如SQL更新操作.下面就为您介绍使用游标循环进行SQL更新插入的SQL语句写法,希望对您深入学习SQL更新有所帮助. --开始事务 BEGIN TRAN --不显示计数信息 SET NOCOUNT ON DECLARE @ProjNo varchar(50),@CusNo varchar(50) --声明游标 DECLARE CRMPSContact_cursor CURSOR FOR SELECT ProjNo FROM CRMPSContac
--循环插入一年的时间 DROP TABLE #temp CREATE TABLE #temp (date DATETIME); DECLARE @year INT ; WITH a1 AS ( SELECT CAST(RTRIM(@year)+'-01-01' AS DATETIME) date UNION ALL ,date) ,date))=@year ) INSERT #temp SELECT date FROM a1 EXCEPT SELECT date FROM #temp ) --