SQL Server--通过存储过程生成表数据的脚本

  

CREATE PROCEDURE dbo.UspOutputData   @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 'The object not exists'

return

end

set @objectname=rtrim(object_name(@objectId))

if @objectname is null or charindex(@objectname,@tablename)=0 --此判断不严密

begin

print 'object not in current database'

return

end

  

if OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判断对象是否是table

begin

print 'The object is not table'

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'

  

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'

GO

exec UspOutputData 你的表名

转载于:https://www.cnblogs.com/forthelichking/p/4514730.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广告机市场和产品

广告机行业分析 前言 关于广告机&#xff0c;不同的人有不同的认识&#xff0c;此部分主要说明文中所指广告机的范围。 在讨论前&#xff0c;先区分几个概念。 1、 广告机与数字标牌 数字标牌是数字标示牌的简称&#xff0c;指代显示任意信息的显示终端&#xff1b;广告机是指…

《工业大数据白皮书》2019版正式发布

来源&#xff1a;悟空智能科技近日&#xff0c;由中国电子技术标准化研究院、全国信息技术标准化技术委员会大数据标准工作组主编&#xff0c;工业大数据产业应用联盟联合主编&#xff0c;联想集团等多家联盟成员企业参编的《工业大数据白皮书&#xff08;2019版&#xff09;》…

产品金字塔

制造业产品大概可以分为三个层次&#xff0c;第一层为实物&#xff0c;第二层为服务&#xff0c;第三层为体验。其中产品为基础&#xff0c;服务为改善&#xff0c;共同给客户美好的体验。三者组成一个产品金字塔。第一层&#xff0c;实物。比如手机&#xff0c;满足通话、上网…

在 Tomcat 中设置 JDBCRealm

除了默认配置的 DataSourceRealm&#xff0c;Tomcat 还支持 JDBCRealm&#xff0c;它通过 JDBC 来访问记录在关系数据库里的认证信息。 JDBCRealm 的配置步骤如下&#xff1a; 在 $TOMCAT_HOME\conf\server.xml 配置 <Reaml/> 元素。 <Realm className"org.apac…

学界 | UC伯克利发布一个低成本家居机器人,会叠衣服、会泡咖啡

BLUE 机器人叠毛巾&#xff0c;实际花费时间约 50 秒来源&#xff1a;AI科技评论加州大学伯克利分校 Pieter Abbeel 教授今天在推特公开宣布了伯克利机器人学习实验室最新开发的机器人 BLUE。这款机器人的特点是低成本&#xff08;不到 5000 美元&#xff09;、基于 AI 控制&am…

硬件产品的成本构成——研发、产品边际成本和服务

硬件产品的成本构成一款硬件产品的成本由许多因素构成&#xff0c;主要可以归为三类&#xff1a;研发成本、产品边际成本和服务成本。这里借用了经济学中的一个概念&#xff1a;边际成本&#xff0c;即增加一单位的产量所带来的成本增加量。对于任何一款硬件产品&#xff0c;每…

JAVA并发编程3_线程同步之synchronized关键字

在上一篇博客里讲解了JAVA的线程的内存模型&#xff0c;见&#xff1a;JAVA并发编程2_线程安全&内存模型&#xff0c;接着上一篇提到的问题解决多线程共享资源的情况下的线程安全问题。 不安全线程分析 public class Test implements Runnable {private int i 0;private i…

深度学习技术发展趋势浅析

来源&#xff1a;中国信息通信研究院CAICT当前&#xff0c;人工智能发展借助深度学习技术突破得到了全面关注和助力推动&#xff0c;各国政府高度重视、资本热潮仍在加码&#xff0c;各界对其成为发展热点也达成了共识。本文旨在分析深度学习技术现状&#xff0c;研判深度学习发…

(含Matlab源码)算术编码(arithmetic coding)的underflow问题

0、文章结构 文章的行文逻辑如下&#xff0c;看官可以根据需要跳读&#xff0c;节省时间。 1、介绍underflow和overflow. 2、underflow问题起源 3、underflow问起探索 4、underflow和overflow的常见情形 5、处理一些溢出问题的小技巧 6、对其中的两种小技巧的优缺点比较…

Union与Union All的区别

Union与Union All的区别如果我们需要将两个select语句的结果作为一个整体显示出来&#xff0c;我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。union和union all的区别是,union会自动压缩多个结果集合中的重复结果&#xff…

人类与AI结合的最佳形态是什么样?|A16Z内部万字报告

来源&#xff1a;A16Z合伙人Frank Chen2017年7月&#xff0c;我发布了一个关于人工智能、机器学习和深度学习的入门视频。从那以后&#xff0c;我一直痴迷于阅读关于机器学习的报道。一般来说&#xff0c;你会在媒体的头版上看到两类报道。一类报道的标题是“机器人来抢你的工作…

(Matlab源码)Matlab实现算术编码(Arithmetic coding)超级详解(每一段代码都可以看懂)

1、代码功能 输入&#xff1a;一个字符串输出&#xff1a; codeword&#xff08;码值&#xff09; codeword所占的位数 2、代码框图 3、代码超详解 统计字符串中的字符种类&#xff0c;调用函数&#xff0c;放入数组b中。 bunique(str1); 统计每种字符的个数&#xff0c;放入…

jquery获取select中的option的text值

<select id"ddd"><option id"22">fdsfds</option><option id"12">fdsfds</option><option id"32">哈哈</option><option id"42">嘻嘻</option></select>1.你的…

(含Python源码)Python实现K阶多项式的5种回归算法(regression)

0、文章结构 为了方便客官根据需要取阅&#xff0c;节约时间&#xff0c;文章目录结构如下&#xff1a; 问题描述理论部分&#xff1a;五种回归算法两种Python读取文件的方法Python实现五种回归算法使用的工具箱总结 1、问题描述 K阶多项式表达式 其中&#xff0c; 现有数据…

首张人类黑洞照片的背后

摘要&#xff1a;沈海军&#xff1a;今天&#xff08;2019年4月10日&#xff09;下午接受广东卫视采访&#xff0c;就晚上21:00即将发布的人类首张黑洞照片发表了评论。提笔撰稿时&#xff0c;尚未到照片官方的发布时间&#xff0c;故不能一睹黑洞照片的芳容&#xff0c;但鉴于…

svn is already under version control问题解决

svn ci 时出现 xx is already under version control&#xff0c;然后无法提交&#xff0c;出现这个问题的原因是你所提交的文件或目录是其他SVN的东西&#xff0c;即下面有.svn的目录&#xff0c;需要先把它们删除才能提交&#xff0c;具体操作如下&#xff1a; 打开出现问题的…

(Matlab函数详解)机器学习中的4种分类算法(LDA、QDA、SVM、KNN)

1、LDA(Linear discriminant analysis) 函数&#xff1a;[class, err]classify(sample, training, group); 输入&#xff1a;sample待测样本&#xff0c;% 矩阵 m*n m为样本数&#xff0c;n为特征数 training训练样本&#xff0c;% 矩阵k*n k为样本数&#xff0c;n为特征数&…

一场“交通进化”将至: 5G带给车联网与自动驾驶哪些升级?

来源 &#xff1a;腾讯科技作者&#xff1a;李俨 美国高通公司技术标准高级总监5G时代已经来临&#xff0c;走向商用的步伐也在逐渐加快。腾讯科技联合优质科技CP以及行业专家推出“5G局中局”系列文章&#xff0c;为你解读5G在通讯、物联网、车联网、工业联网、边缘计算、云服…

产品经理的几个阶段

产品经理是这几年最火热的互联网职位之一&#xff0c;随着这些年的发展积累了大量的顶着产品经理称号的年轻人。虽然在数量上有了巨大的增长&#xff0c;但是在我们实际的工作招聘中却很悲哀的发现&#xff0c;很多产品岗位死活招不到人&#xff1b; 甚至好不容易花个大价钱挖到…

(一看就懂)傅里叶变换、拉普拉斯变换、Z变换、卷积的经典文章汇总

0、前沿 在复习傅里叶变换、拉普拉斯变换、Z变换和卷积等知识时&#xff0c;我发现网上有非常非常多的大牛。他们用通俗易懂的语言来讲解这些复杂的知识&#xff0c;使人豁然开朗。 1、连续时间信号的傅里叶级数与傅里叶变换 如果现在还无法理解&#xff0c;为什么要对信号进…