sql2005数据导出方法(使用存储过程导出数据为脚本)

执行语句:exec KeleyiOutputSqlData thetablename

以下是创建存储过程脚本:


代码如下:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create PROCEDURE [dbo].[KeleyiOutputSqlData]

@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'

(0)

相关推荐

  • sql2005数据导出方法(使用存储过程导出数据为脚本)

    执行语句:exec KeleyiOutputSqlData thetablename 以下是创建存储过程脚本: 复制代码 代码如下: SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCreate PROCEDURE [dbo].[KeleyiOutputSqlData] @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare

  • python目标检测YoloV4当中的Mosaic数据增强方法

    目录 什么是Mosaic数据增强方法 实现思路 全部代码 什么是Mosaic数据增强方法 Yolov4的mosaic数据增强参考了CutMix数据增强方式,理论上具有一定的相似性! CutMix数据增强方式利用两张图片进行拼接. 但是mosaic利用了四张图片,根据论文所说其拥有一个巨大的优点是丰富检测物体的背景!且在BN计算的时候一下子会计算四张图片的数据!就像下图这样: 实现思路 1.每次读取四张图片. 2.分别对四张图片进行翻转.缩放.色域变化等,并且按照四个方向位置摆好. 3.进行图片的

  • PHP使用PHPexcel导入导出数据的方法

    本文实例讲述了PHP使用PHPexcel导入导出数据的方法.分享给大家供大家参考,具体如下: 导入数据: <?php error_reporting(E_ALL); //开启错误 set_time_limit(0); //脚本不超时 date_default_timezone_set('Europe/London'); //设置时间 /** Include path **/ set_include_path(get_include_path() . PATH_SEPARATOR . 'http:

  • ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】

    本文实例讲述了ThinkPHP框架实现导出excel数据的方法.分享给大家供大家参考,具体如下: 在ThinkPHP框架下,导出excel数据的方法示例: 在操作前,应该在系统框架的扩展目录中添加ORG库,即要包含ThinkPHP\Extend\Library\ORG\Util\PHPExcel.class.php文件及其相关支持文件. <?php header("Content-type: text/html; charset=utf-8"); class MesTestAct

  • python list格式数据excel导出方法

    如下所示: # _*_ coding:utf-8 _*_ #----------------------------------------------- # import modules #----------------------------------------------- import os import xlwt import sys import types def set_style(name, height, bold = False): style = xlwt.XFSt

  • Navicat如何导出所有的查询数据的方法

    前言 很简单就是通过Navicat的查询来查询~ 步骤 真的不要太简单了~ 打开Navicat并点击查询 新建查询 选择对应的连接和库 写入SQL并运行 导出结果 1.选择导出当前的结果 2.选择保存格式 3.选择下一步 点击红色圈处可修改文件名和保存位置 4.选择下一步 5.点击开始并等待导出完成 查看数据 到此这篇关于Navicat如何导出所有的查询数据的方法的文章就介绍到这了,更多相关Navicat 导出查询数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • Python中Cookies导出某站用户数据的方法

    应朋友需要,想将某客户的数据从某站里导出,先去某站搞个账号,建几条数据观察一番,心里有底后开搞. 1.Python环境搭建 之前电脑有安装过PyCharm Community 2019.1,具体安装过程就不写了,先跑个HelloWorld,输出正常后正式开整. 2.利用抓包工具或者Google浏览器调试模式拿到请求参数 Cookies参数如下: cookies = { 'JSESSIONID': 'XXX', 'phone': 'XXX', 'password': 'XXX', 'isAuto'

  • SpringBoot导入导出数据实现方法详解

    今天给大家带来的是一个 SpringBoot导入导出数据 首先我们先创建项目 注意:创建SpringBoot项目时一定要联网不然会报错 项目创建好后我们首先对 application.yml 进行编译 server:  port: 8081# mysqlspring:  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://127.0.0.1:3306/dvd?characterEncodi

  • MySQL 文本文件的导入导出数据的方法

    MySQL写入数据通常用insert语句,如 复制代码 代码如下: insert into person values(张三,20),(李四,21),(王五,70)-; 但有时为了更快速地插入大批量数据或交换数据,需要从文本中导入数据或导出数据到文本. 一. 建立测试表,准备数据 首先建立一个用于测试的表示学生信息的表,字段有id.姓名.年龄.城市.薪水.Id和姓名不 能为空. 复制代码 代码如下: create table person( id int not null auto_increm

  • MySQL之导出整个及单个表数据的操作

    导出单个表 mysqldump -u user -p dbname tablename > db.sql 导入单个表 mysql>drop tablename; mysql -u user -p dbname < db.sql 导出整个表 mysqldump --opt -d dbname -u dbuser -p > db.sql mysqldump dbname -udbuser -p > db_dt.sql 补充知识:mysql导入导出sql文件:导出整个数据库,导出一

随机推荐