都最近整理的,有用得着的朋友可以看看!
将数据导出到文件中:
EXEC master..xp_cmdshell 'bcp bschis.dbo.jd_jmjkda out "c:\test.txt" -c -U"sa" -P"jackie"'
/* A、往表中插入2千条记录:编号分别为1,2....、分数为0到100之间的随机数 B、统计上述插入所需时间(毫秒)。 C.对数据进行分页 */ use pubs create table tb_insertstore_test( id int primary key, stuName varchar(30), store float(2) ) --添加列 ALTER TABLE tb_insertstore_test ADD store float select * from tb_insertstore_test declare @temp int declare @bgt datetime declare @egt datetime set @bgt=getdate() set @temp=1 while(@temp<2000) begin --floor函数返回不大于参数的最大整数 insert into tb_insertstore_test values(@temp,'张三'+convert(varchar(20),@temp),floor(rand()*101)) set @temp=@temp+1 end set @egt=getdate() select datediff(ms,@bgt,@egt) as '插入数据所需时间/毫秒' --分页语句 --思路(( 查询出符合条件的总记录数%每页显示的记录数==0)?(总数/每页记录数):(总数/每页记录数+1)) declare @count int--查询总数(每页的记录数*当前页) declare @pageCount int--每页显示的记录数 set @count=20 set @pageCount=10 declare @sqlStr varchar(1000)--动态sql分页 set @sqlStr = ' select top ' +convert(varchar,@pageCount)+ '* from (' + ' select top ' +convert(varchar,@count) +'*from tb_insertstore_test order by store desc' + ' ) as a' exec(@sqlStr) --分页存储过程语句 create procedure proc_FenYe @pageSize varchar(5),--每页显示的记录数 @pageCount varchar(5)--需查询的数量 as declare @sqlString varchar(500) begin set @sqlString='select top ' +convert(varchar,@pageSize)+ '* from (' +' select top ' +convert(varchar,@pageCount) +'* from tb_insertstore_test order by store) as tb_store order by store desc' exec(@sqlString) end --下面这条分页语句要sql2005才能执行,sql2000不支持变量直接加在select top xx查询中 --select top @pageSize *from (select top @pageCount * from tb_insertstore order by store asc) as tb_store order by store desc go --drop procedure proc_FenYe exec proc_FenYe'15','1000' ----------------------------------------------------------------------------------------------- /* create table tbStockIn ( code varchar(20) primary key ) select * from tbStockIn delete from tbStockIn insert into tbStockIn values('rk000001') insert into tbStockIn values('rk000002') insert into tbStockIn values('rk000012') insert into tbStockIn values('rk000009') */ select isnull('rk'+right('00000' +convert(varchar,right(max(code),6) +1 ),6),'rk000001')--编号自动增长 select isnull(null,'rk000001')