EÅ̸ùĿ¼Ð½¨Ò»¸öExcelÎļþaa.xlsºó²âÊÔÈçÏ´úÂë
use tempdb
go
if (object_id ('udf_getExcelTableNames' ) is not null )
drop function dbo .udf_getExcelTableNames
go
create function udf_getExcelTableNames (@filename varchar (1000 ))
returns @t table (id int , name varchar (255 ))
as
begin
declare
@error int , @obj int , @c int , @sheetname varchar (255 ) , @sheetstring varchar (255 )
exec @error = sp_oacreate 'Excel.Application' , @obj out
exec @error = sp_oamethod @obj , 'Workbooks.Open' , @c out , @filename
exec @error = sp_oagetproperty @obj , 'ActiveWorkbook.Sheets.Count' , @c out
while (@c > 0 )
begin
set @sheetstring = 'ActiveWorkbook.Sheets(' + ltrim (@c )+ ').Name'
& ......
if (object_id ('t' ) is not null ) drop table t
go
create table t (id int identity (1 , 1 ), name varchar (40 ))
go
insert into t (name ) select newid ()
go 10
select * from t
/*
1 18C1C418-9029-4599-8D5E-616354A113C8
2 A0FE1177-09D8-4C56-9FB5-C2FAFF0155CF
3 9033E8BB-B9A4-4A08-83D8-40064AB68C5F
4 A179A300-E30B-42BF-974E-50928EB7DCF1
5 C1D36D3B-C4D7-431B-8C81-95C9EF9061A0
6 8A99066A-7993-4C06-9763-482C0BF5E687
7 2F0664A8-F91D-4BDE-BA0B-48624137B7CA
8 74C3FED3-6182-4ED9-9BFE-9C3DEC662F35
9 4E7A8CC8-D7CE-4A0D-8562-688FB3F91458
10 EC82BD91-20B3-46C1-B7CC-C4A8A9099376
*/ ......
ÈçºÎÔÚÒ»¸öûÓÐÖ÷¼üµÄ±íÖлñÈ¡µÚnÐÐÊý¾Ý£¬ÔÚsql2005ÖпÉÒÔÓÃrow_number£¬µ«ÊDZØÐëÖ¸¶¨ÅÅÐòÁУ¬·ñÔòÄã¾Í²»µÃ²»ÓÃselect intoÀ´¹ý¶Éµ½ÁÙʱ±í²¢Ôö¼ÓÒ»¸öÅÅÐò×ֶΡ£
ÓÃÓαêµÄfetch absoluteÓï¾ä¿ÉÒÔ»ñÈ¡¾ø¶ÔÐÐÊýϵÄijÐÐÊý¾Ý,²âÊÔ´úÂëÈçÏÂ:
set nocount on
--½¨Á¢²âÊÔ»·¾³²¢²åÈëÊý¾Ý£¬²¢ÇÒ±íûÓÐÖ÷¼ü
create table test(id int ,name varchar(10))
insert into test select 999,'jinjazz'
insert into test select 888,'csdn'
insert into test select 999,'sqlserver'
--ͨ¹ýÓαê»ñÈ¡¾ø¶ÔÐÐÊý
declare myCursor scroll cursor for select * from test
open myCursor
fetch absolute 3 from myCursor
close myCursor
deallocate myCursor
--ɾ³ý²âÊÔ»·¾³
drop table test
set nocount off
/*--
id name
----------- ----------
999 sqlserver
--*/ ......
SQLServer2005·Ö½â²¢µ¼ÈëxmlÎļþ ÊÕ²Ø
²âÊÔ»·¾³SQL2005£¬windows2003
DECLARE @idoc int;
DECLARE @doc xml;
SELECT @doc=bulkcolumn from OPENROWSET(
BULK 'D: \test.xml',
SINGLE_BLOB) AS x
EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc
SELECT * into #temp from OPENXML (@Idoc, '/Root/Item',2)
WITH (
[ID] varchar(10)
,[Name]varchar(10)
,[Caption]varchar(10)
)
select * from #temp
drop table #temp
/**//*--ÎļþD: est.xmlµÄÎı¾ÄÚÈÝ
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Item>
<ID>1</ID>
<Name>jinjazz</Name>
<Caption>¼ôµ¶</Caption>
</I ......
SQLServer2005·Ö½â²¢µ¼ÈëxmlÎļþ ÊÕ²Ø
²âÊÔ»·¾³SQL2005£¬windows2003
DECLARE @idoc int;
DECLARE @doc xml;
SELECT @doc=bulkcolumn from OPENROWSET(
BULK 'D: \test.xml',
SINGLE_BLOB) AS x
EXEC sp_xml_preparedocument @Idoc OUTPUT, @doc
SELECT * into #temp from OPENXML (@Idoc, '/Root/Item',2)
WITH (
[ID] varchar(10)
,[Name]varchar(10)
,[Caption]varchar(10)
)
select * from #temp
drop table #temp
/**//*--ÎļþD: est.xmlµÄÎı¾ÄÚÈÝ
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Item>
<ID>1</ID>
<Name>jinjazz</Name>
<Caption>¼ôµ¶</Caption>
</I ......
×î½üÕûÀí³öÀ´µÄ.Èç¹û²»ÍêÈ«µÄ»°Ï£Íû´ó¼Ò²¹³ä.
ÔÚaccessÖУ¬×ª»»Îª´óдµÄsqlº¯ÊýÊÇucase£¬ÔÚsqlserverÖУ¬×ª»»Îª´óдµÄº¯ÊýÊÇupper£»ÔÚaccessÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlcase£¬ÔÚsqlserverÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlower£»ÔÚaccessÖУ¬È¡µ±Ç°Ê±¼äµÄº¯ÊýÊÇnow£¬ÁíÍ⻹ÓÐÒ»¸öÈ¡ÈÕÆÚº¯Êýdate£¬ÔÚsqlserverÖУ¬È¡µ±Ç°µÄº¯ÊýÊÇgetdate£¬Ã»ÓÐÖ±½ÓµÄÈ¡ÈÕÆÚº¯Êý¡£
ÔÚaccessÖУ¬datediff()ºÍdateaddº¯Êý±íʾʱ¼äÀàÐ͵IJ¿·Ö±ØÐëÓõ¥ÒýºÅÀ¨ÆðÀ´£¬Ð´³ÉÕâÖÖÑùʽ£ºselect datediff('n',addtime,now()) from * ……£¬»òÕßselect dateadd('d',5,now())£¬¶øÔÚsqlserverÖУ¬±ØÐëд³Éselect datediff(n,addtime,getdate()) from *……£¬»òÕßselect dateadd(d,5,getdate())¡£
ÔÚaccessÖУ¬×Ö·û´®ÀàÐ͵ÄÊý¾Ý²»ÄÜÓÃreplaceº¯Êý£¬µ«¿ÉÒÔÓà º¯Êý£¬±¸×¢ÀàÐ͵ÄÊý¾ÝÒ²Ò»Ñù¡£×Ö·û´®ÀàÐ͵ÄÊý¾ÝºÍ±¸×¢ÀàÐ͵ÄÊý¾Ý¶¼¿ÉÒÔÓÃlikeÀ´²éÕÒÆ¥Åä¡£ÔÚsqlserverÖУ¬×Ö·û´®ÀàÐ͵ÄÊý¾Ý¿ÉÒÔÓÃreplaceº¯ÊýºÍ º¯Êý£¬µ«ÊÇntextÀàÐ͵ÄÊý¾Ý²»ÄÜ¡£¶øÇÒsqlserverÖÐntextÀàÐ͵ÄÊý¾Ý»¹²»ÄÜÓÃlikeÀ´²éÕÒÆ¥Åä¡£
²»¹ýaccessºÍsqlserver¶¼Ö§³Öϵͳ±äÁ¿@@identity£¬ÕâÒ»µãÖªµÀµÄÈ˲»¶à¡£
ÆäËüÒì֮ͬ´¦£¬ÈÝÎÒÒ ......
×î½üÕûÀí³öÀ´µÄ.Èç¹û²»ÍêÈ«µÄ»°Ï£Íû´ó¼Ò²¹³ä.
ÔÚaccessÖУ¬×ª»»Îª´óдµÄsqlº¯ÊýÊÇucase£¬ÔÚsqlserverÖУ¬×ª»»Îª´óдµÄº¯ÊýÊÇupper£»ÔÚaccessÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlcase£¬ÔÚsqlserverÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlower£»ÔÚaccessÖУ¬È¡µ±Ç°Ê±¼äµÄº¯ÊýÊÇnow£¬ÁíÍ⻹ÓÐÒ»¸öÈ¡ÈÕÆÚº¯Êýdate£¬ÔÚsqlserverÖУ¬È¡µ±Ç°µÄº¯ÊýÊÇgetdate£¬Ã»ÓÐÖ±½ÓµÄÈ¡ÈÕÆÚº¯Êý¡£
ÔÚaccessÖУ¬datediff()ºÍdateaddº¯Êý±íʾʱ¼äÀàÐ͵IJ¿·Ö±ØÐëÓõ¥ÒýºÅÀ¨ÆðÀ´£¬Ð´³ÉÕâÖÖÑùʽ£ºselect datediff('n',addtime,now()) from * ……£¬»òÕßselect dateadd('d',5,now())£¬¶øÔÚsqlserverÖУ¬±ØÐëд³Éselect datediff(n,addtime,getdate()) from *……£¬»òÕßselect dateadd(d,5,getdate())¡£
ÔÚaccessÖУ¬×Ö·û´®ÀàÐ͵ÄÊý¾Ý²»ÄÜÓÃreplaceº¯Êý£¬µ«¿ÉÒÔÓà º¯Êý£¬±¸×¢ÀàÐ͵ÄÊý¾ÝÒ²Ò»Ñù¡£×Ö·û´®ÀàÐ͵ÄÊý¾ÝºÍ±¸×¢ÀàÐ͵ÄÊý¾Ý¶¼¿ÉÒÔÓÃlikeÀ´²éÕÒÆ¥Åä¡£ÔÚsqlserverÖУ¬×Ö·û´®ÀàÐ͵ÄÊý¾Ý¿ÉÒÔÓÃreplaceº¯ÊýºÍ º¯Êý£¬µ«ÊÇntextÀàÐ͵ÄÊý¾Ý²»ÄÜ¡£¶øÇÒsqlserverÖÐntextÀàÐ͵ÄÊý¾Ý»¹²»ÄÜÓÃlikeÀ´²éÕÒÆ¥Åä¡£
²»¹ýaccessºÍsqlserver¶¼Ö§³Öϵͳ±äÁ¿@@identity£¬ÕâÒ»µãÖªµÀµÄÈ˲»¶à¡£
ÆäËüÒì֮ͬ´¦£¬ÈÝÎÒÒ ......
×î½üÕûÀí³öÀ´µÄ.Èç¹û²»ÍêÈ«µÄ»°Ï£Íû´ó¼Ò²¹³ä.
ÔÚaccessÖУ¬×ª»»Îª´óдµÄsqlº¯ÊýÊÇucase£¬ÔÚsqlserverÖУ¬×ª»»Îª´óдµÄº¯ÊýÊÇupper£»ÔÚaccessÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlcase£¬ÔÚsqlserverÖУ¬×ª»»ÎªÐ¡Ð´µÄº¯ÊýÊÇlower£»ÔÚaccessÖУ¬È¡µ±Ç°Ê±¼äµÄº¯ÊýÊÇnow£¬ÁíÍ⻹ÓÐÒ»¸öÈ¡ÈÕÆÚº¯Êýdate£¬ÔÚsqlserverÖУ¬È¡µ±Ç°µÄº¯ÊýÊÇgetdate£¬Ã»ÓÐÖ±½ÓµÄÈ¡ÈÕÆÚº¯Êý¡£
ÔÚaccessÖУ¬datediff()ºÍdateaddº¯Êý±íʾʱ¼äÀàÐ͵IJ¿·Ö±ØÐëÓõ¥ÒýºÅÀ¨ÆðÀ´£¬Ð´³ÉÕâÖÖÑùʽ£ºselect datediff('n',addtime,now()) from * ……£¬»òÕßselect dateadd('d',5,now())£¬¶øÔÚsqlserverÖУ¬±ØÐëд³Éselect datediff(n,addtime,getdate()) from *……£¬»òÕßselect dateadd(d,5,getdate())¡£
ÔÚaccessÖУ¬×Ö·û´®ÀàÐ͵ÄÊý¾Ý²»ÄÜÓÃreplaceº¯Êý£¬µ«¿ÉÒÔÓà º¯Êý£¬±¸×¢ÀàÐ͵ÄÊý¾ÝÒ²Ò»Ñù¡£×Ö·û´®ÀàÐ͵ÄÊý¾ÝºÍ±¸×¢ÀàÐ͵ÄÊý¾Ý¶¼¿ÉÒÔÓÃlikeÀ´²éÕÒÆ¥Åä¡£ÔÚsqlserverÖУ¬×Ö·û´®ÀàÐ͵ÄÊý¾Ý¿ÉÒÔÓÃreplaceº¯ÊýºÍ º¯Êý£¬µ«ÊÇntextÀàÐ͵ÄÊý¾Ý²»ÄÜ¡£¶øÇÒsqlserverÖÐntextÀàÐ͵ÄÊý¾Ý»¹²»ÄÜÓÃlikeÀ´²éÕÒÆ¥Åä¡£
²»¹ýaccessºÍsqlserver¶¼Ö§³Öϵͳ±äÁ¿@@identity£¬ÕâÒ»µãÖªµÀµÄÈ˲»¶à¡£
ÆäËüÒì֮ͬ´¦£¬ÈÝÎÒÒ ......
Declare @Id int
Declare @Name varchar(20)
Declare Cur Cursor For Select Id,Name from T_User
Open Cur
Fetch next from Cur Into @Id,@Name
While @@fetch_status=0
Begin
Update T_User Set [Name]=@Name,Id=@Id
Fetch Next from Cur Into @Id,@Name
End
Close Cur
Deallocate Cur ......