惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
Security Archives - TechRepublic
Security Archives - TechRepublic
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
The Hacker News
The Hacker News
Google DeepMind News
Google DeepMind News
C
CERT Recently Published Vulnerability Notes
F
Full Disclosure
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Security @ Cisco Blogs
H
Hacker News: Front Page
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
B
Blog RSS Feed
H
Heimdal Security Blog
Google Online Security Blog
Google Online Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
V2EX - 技术
V2EX - 技术
V
Vulnerabilities – Threatpost
Help Net Security
Help Net Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Tailwind CSS Blog
W
WeLiveSecurity
T
Tenable Blog
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
S
Secure Thoughts
O
OpenAI News
L
LINUX DO - 热门话题
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
J
Java Code Geeks
Know Your Adversary
Know Your Adversary
IT之家
IT之家
Latest news
Latest news
Cloudbric
Cloudbric

博客园 - love .net FrameWork

SQL Server 2005 中的分区表和索引应用 Windows Forms 分页控件 WPF 插件开发(.NET Framework 3.5 System.Addin) 一生回味的100句凡人语录 经典短句 一生中必看的30个故事 别人看不懂的悲伤 Most of the 10 classic love sentence 5月28日 《魔兽争霸3》微操作基础教程 数据访问抽象基础类 无法将类型“ASP.login_aspx”转换为“System.Web.UI.WebControls.Login” - love .net FrameWork 拼接sql语句 关于ibatis.net框架(NPetshop学习) Stratrgy 策略模式 Factory Method 工厂方法模式(创建型模式) SQL各种日期转换代码大全 在ASP.NET中使用Session常见问题集锦(转) Sys.ArgumentOutOfRangeException: Value must be an integer - love .net FrameWork
看到一很好的SQL代码
love .net FrameWork · 2008-03-11 · via 博客园 - love .net FrameWork

转载:http://topic.csdn.net/u/20080310/09/f1c5c8d1-e60b-48ad-8068-fa5a58e59788.html
其功能是:将表中的数据生成SQL脚本,在查询分析器中执行这些脚本后自动将数据导入到SQL Server中

CREATE PROCEDURE   dbo.OutputData     
  
@tablename   sysname      
  
AS      
  
declare   @column   varchar(1000)     
  
declare   @columndata   varchar(1000)     
  
declare   @sql   varchar(4000)     
  
declare   @xtype   tinyint      
  
declare   @name   sysname      
  
declare   @objectId   int      
  
declare   @objectname   sysname      
  
declare   @ident   int      set   nocount   on      
  
set   @objectId=object_id(@tablename)     
  
if  @objectId   is   null   --   判断对象是否存在     
     begin      
      
print  @tablename +  '对象不存在'     
      
return      
    
end     
  
set @objectname=rtrim(object_name(@objectId))     
  
if @objectname is null or charindex(@objectname,@tablename)=0
    
begin      
      
print  @tablename +  '对象不在当前数据库中'      
      
return      
    
end         
  
if  OBJECTPROPERTY(@objectId,'IsTable')   <   >   1   --   判断对象是否是表     
    begin      
      
print  @tablename +  '对象不是表'     
      
return      
    
end         
  
select   @ident=status&0x80   from   syscolumns   where   id=@objectid   and   status&0x80=0x80          
  
if @ident is   not   null      
    
print   'SET   IDENTITY_INSERT   '+ @TableName + '   ON'     
  
--定义游标,循环取数据并生成Insert语句
  declare  syscolumns_cursor  cursor for   
    
select   c.name,c.xtype   from   syscolumns   c     
      
where   c.id=@objectid     
      
order   by   c.colid     
  
--打开游标
  open   syscolumns_cursor     
  
set  @column=''     
  
set  @columndata=''     
  
fetch   next   from   syscolumns_cursor   into   @name,@xtype     
  
while   @@fetch_status   <> -1     
    
begin      
    
if   @@fetch_status   <> -2     
      
begin      
      
if   @xtype   not   in(189,34,35,99,98)   --timestamp不需处理,image,text,ntext,sql_variant 暂时不处理     
        begin      
        
set   @column=@column + 
          
case   when   len(@column)=0   then ''  
                 
else   ','
                 
end + @name     
        
set   @columndata = @columndata + 
          
case   when   len(@columndata)=0   then   ''   
                 
else   ','','','
                 
end  + 
          
case   when  @xtype   in(167,175)  then   '''''''''+'+@name+'+'''''''''                --varchar,char     
                 when   @xtype   in(231,239)   then   '''N''''''+'+@name+'+'''''''''             --nvarchar,nchar     
                 when   @xtype=61   then   '''''''''+convert(char(23),'+@name+',121)+'''''''''   --datetime     
                 when   @xtype=58   then   '''''''''+convert(char(16),'+@name+',120)+'''''''''   --smalldatetime     
                  when   @xtype=36   then   '''''''''+convert(char(36),'+@name+')+'''''''''       --uniqueidentifier     
                 else   @name   
                 
end      
        
end      
      
end      
    
fetch   next   from   syscolumns_cursor   into   @name,@xtype     
    
end      
  
close   syscolumns_cursor     
  
deallocate   syscolumns_cursor          
  
set  @sql='set   nocount   on   select   ''insert   '+@tablename+'('+@column+')   values(''as   ''--'','+@columndata+','')''   from   '+@tablename         
  
print   '--'+@sql     
  
exec(@sql)          
  
if   @ident   is   not   null      
  
print  'SET   IDENTITY_INSERT   '+@TableName+'   OFF'     
调用时 
exec   OutputData   'myuser' 其中myUser中当前数据库中存在的表