SQL ½«ÁÐת»»ÎªÐУ¬Ï൱ÓÚ½«±í½á¹¹Ðýת90¶È
½«ÁÐת»»ÎªÐУ¬Ï൱ÓÚ½«±í½á¹¹Ðýת90¶È
T_Student ±í
Stud_ID
Sex
Name
1
ÄÐ
Tom
2
Å®
Anne
3
ÄÐ
Jack
Ö´ÐÐ: Exec proColumnToRow ’T_Student’,’Name’,’ New_ID’
ת»»ºóµÄ±í
New_ID
Tom
Anne
Jack
Stud_ID
1
2
3
Sex
ÄÐ
Å®
ÄÐ
--½«ÁÐת»»ÎªÐÐ
create proc proColumnToRow
@tbname sysname, --Òª´¦ÀíµÄ±íÃû
@fdname sysname, --ijһÁеÄֵת»»ÎªÐ±íµÄÁÐ
@new_fdname sysname='' --½«Ô´±íµÄÁÐת»»ÎªÐÂÁеÄÖµ¡£@new_fdnameΪÐÂÁеÄÁÐÃû
as
declare @s1 varchar(8000) , @s2 varchar(8000),
@s3 varchar(8000) , @s4 varchar(8000),
@s5 varchar(8000) , @i varchar(10)
select
@s1 = '' , @s2 = '' , @s3 = '' , @s4 = '' , @s5 = '' , @i = '0'
select
@s1 = @s1 + ',@' + @i + ' varchar(8000)',
@s2 = @s2 + ',@' + @i + '=''' + case isnull(@new_fdname , '') when '' then ''
else @new_fdname + '=' end + '''''' + name + '''''''',
@s3 = @s3 + 'select
@' + @i + '=@' + @i + '+'',['' + cast(' + @fdname +
' as varchar)+'']=''''''+cast([' + name + '] as varchar)+'''''''' from [' + @tbname + ']',
@s4 = @s4 + ',@' + @i + '=''select
''+@' + @i,
@s5 = @s5 + '+'' union all ''+@' + @i,
@i=cast(@i as int)+1
from syscolumns
where object_id(@tbname)=id and name<>@fdname
select
@s1=substring(@s1,2,8000),
@s2=substring(@s2,2,8000),
@s4=substring(@s4,2,8000),
@s5=substring(@s5,16,8000)
exec('declare ' + @s1 + 'selec
Ïà¹ØÎĵµ£º
ÏÈ˵˵ÕâЩÎóÇø¡£Ëùν“ÎóÇø”£¬ÓÐһЩÊÇÐÂÊÖºÜÈÝÒ×·¸µÄ´íÎó»òÕߺÜÈÝÒ׺öÂÔµÄÎÊÌ⣬ÁíÍâһЩ£¬ÔòÊÇÏñ“ºÄ×Ó³ÔÁËÑλá±ä³Éòùòð”Ò»Ñù£¬ÈÃÎÒÃÇ´ÓС¾ÍÈÏΪÊÇÕýÈ·µÄÊÂÇé¡£ÈçÏ£º
1¡¢ ±íÉϲ»¹ÜÓõÃ×ÅÓò»×Å£¬¶¼¼Ó¸ö¾Û¼¯Ë÷Òý¡£
ÎÒÃÇÖªµÀ£¬±íÒÔÁ½ÖÖ·½Ê½×éÖ¯ÎïÀí´æ´¢£ºÓоۼ¯Ë÷ÒýµÄ“¾Û¼¯± ......
ÔÚSQL Server 2008Ï£¬ÍøÉÏÒÔÇ°Á÷ÐеĽضÏÈÕÖ¾²¢ÊÕËõÎļþµÄ·½·¨²»ÊʺÏÁË£¬±¨Óï·¨´íÎó¡£
ͬʱÒòΪÎÒµÄÊý¾Ý¿âÈÕÖ¾Ôö³¤·Ç³£¿ì£¬´ó¸ÅÿÌìÔÚ1GÒÔÉÏ£¬Òò´Ë±ØÐë¶ÔÆä½øÐÐÊÕËõ¡£
¾¹ýÔÚϵͳÉϵIJâÊÔ£¬¸Ð¾õÓÃSQL SERVERµÄά»¤¼Æ»®¸ü¿ÉÐУ¬ÏÖ½«²Ù×÷·½Ê½¼ò½éÈçÏ£º
×¢£ºÏÂÃæµÄ˵Ã÷ÖÐÒ²Ìáµ½ÁËʹÓòîÒ챸·Ý£¬ÒòΪÊý¾Ý¿âÎļþÔö³¤Ò²·Ç ......
Êý¾Ý¿â£º
1¡¢ ´´½¨Êý¾Ý¿âµÄÓï·¨£º
if exists (select * from sysdatabases where name='DT_name') /*ÅжÏÊÇ·ñ´æÔÚ£¬ÊÇÔòɾ³ý*/
drop database DT_name
create database database_name
on primary /* Ö¸¶¨Ö÷ÒªÎļþ×飬ÆäÖеÚÒ»¸öÖ÷ÒªÎļþ * ......
Ê×ÏȽéÉÜÒ»ÏÂʲôÊÇ´æ´¢¹ý³Ì£º´æ´¢¹ý³Ì¾ÍÊǽ«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´£¬²¢ÇÒÕâÑùµÄÓï¾äÊÇ·ÅÔÚÊý¾Ý¿âÖеģ¬»¹¿ÉÒÔ¸ù¾ÝÌõ¼þÖ´Ðв»Í¬SQLÓï¾ä£¬ ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ£¬Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî¡£
¡¡¡¡Çë´ó¼ÒÀ´Á˽âһϴ洢¹ý³Ìµ ......
Ïò¸ßÊÖÇë½ÌÒ»¸öÎÊÌâ:
µ±ÎÒÖ´ÐÐ:
use master
exec xp_cmdshell 'osql /S musqlserver /U sa /P mypwd /d haodb /Q "select top 10 * from trandetail" /o C:\my1.xls'
ÒÔÉÏÖ´Ðгɹ¦,»á²úÉúÐÂÎļþ:C:\my1.xls'
È»ºóÎÒÏ뽫´ËÎļþÖ±½Ócopyµ½Áíһ̨µçÄÔÖÐ[Òѽ¨Á¬½Ó]
Ö´ÐÐ
......