CREATEPROCEDUREdbo.UspOutputData @tablenamesysname AS declare@columnvarchar(1000) declare@columndatavarchar(1000) declare@sqlvarchar(4000) declare@xtypetinyint declare@namesysname declare@objectIdint declare@objectnamesysname declare@identint
setnocounton set@objectId=object_id(@tablename)
if@objectIdisnull--判断对象是否存在 begin print'Theobjectnotexists' return end set@objectname=rtrim(object_name(@objectId))
if@objectnameisnullorcharindex(@objectname,@tablename)=0--此判断不严密 begin print'objectnotincurrentdatabase' return end
ifOBJECTPROPERTY(@objectId,'IsTable')<>1--判断对象是否是table begin print'Theobjectisnottable' return end
select@ident=status&0x80fromsyscolumnswhereid=@objectidandstatus&0x80=0x80
if@identisnotnull print'SETIDENTITY_INSERT'+@TableName+'ON'
declaresyscolumns_cursorcursor
forselectc.name,c.xtypefromsyscolumnscwherec.id=@objectidorderbyc.colid
opensyscolumns_cursor set@column='' set@columndata='' fetchnextfromsyscolumns_cursorinto@name,@xtype
while@@fetch_status<>-1 begin if@@fetch_status<>-2 begin if@xtypenotin(189,34,35,99,98)--timestamp不需处理,image,text,ntext,sql_variant暂时不处理
begin set@column=@column+casewhenlen(@column)=0then''else','end+@name
set@columndata=@columndata+casewhenlen(@columndata)=0then''else','','',' end
+casewhen@xtypein(167,175)then'''''''''+'+@name+'+'''''''''--varchar,char when@xtypein(231,239)then'''N''''''+'+@name+'+'''''''''--nvarchar,nchar when@xtype=61then'''''''''+convert(char(23),'+@name+',121)+'''''''''--datetime when@xtype=58then'''''''''+convert(char(16),'+@name+',120)+'''''''''--smalldatetime when@xtype=36then'''''''''+convert(char(36),'+@name+')+'''''''''--uniqueidentifier else@nameend
end
end
fetchnextfromsyscolumns_cursorinto@name,@xtype
end
closesyscolumns_cursor deallocatesyscolumns_cursor
set@sql='setnocountonselect''insert'+@tablename+'('+@column+')values(''as''--'','+@columndata+','')''from'+@tablename
print'--'+@sql exec(@sql)
if@identisnotnull print'SETIDENTITY_INSERT'+@TableName+'OFF'
GO
|
相关推荐
MS SQL Server提供了内置的功能来生成数据库对象的脚本。在SQL Server Management Studio (SSMS) 中,你可以右键点击数据库或具体的数据表,选择“任务” -> “生成脚本”,然后按照向导设置脚本的选项,如是否包含...
在MS SQL SERVER中,导出数据为Insert脚本通常是为了备份数据、迁移数据或者在测试环境中重现生产环境的数据状态。这个过程可以通过SQL Server Management Studio (SSMS) 来实现: 1. 打开SSMS,连接到你的SQL ...
总之,MS SQL Server 7 是一个功能强大的企业级数据库管理系统,为各种规模的企业提供了可靠的数据存储和管理解决方案。虽然后续版本(如SQL Server 2000、2005等)在许多方面进行了改进和增强,但SQL Server 7的...
根据提供的信息,我们可以深入探讨如何在MS SQL Server中解密加密的存储过程、触发器、函数和视图等内容。此过程涉及使用自定义脚本,通过解析加密对象并逐步重建其原始定义,来实现解密的目标。 ### MS SQL 存储...
综上所述,存储过程`dbo.UspOutputData`提供了一种灵活且强大的方法,用于将MS SQL Server中的数据导出为SQL插入语句,极大地简化了数据迁移和脚本化工作流程。然而,使用时也应充分考虑其局限性和潜在风险,采取...
服务器端代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...
- **5.7 通过 ODBC 调用 SQL Server 数据库的存储过程** - 如何通过 ODBC 执行存储过程。 - **5.8 ODBC 错误处理** - 错误代码和消息的处理机制。 #### 第6章 使用 ADO 访问 SQL Server 数据库 - **6.1 概述** ...
1. **系统存储过程**:在MS SQL Server中,用来显示数据库信息的系统存储过程是`sp_helpdb`,选项D。系统存储过程是一组预编译的Transact-SQL语句,用于执行特定的数据库管理任务。 2. **删除表的命令**:在SQL语言...
无论是对数据库一无所知的新手,还是熟悉桌面级数据库如MS Access,甚至是具有服务器级数据库背景(如Oracle、DB2、Sybase等)的学习者,都能从本书中获得快速上手SQL Server所需的知识。 本书适用于SQL Server ...
- **报表生成**:结合PHP的报表库,如PHPExcel,可以生成基于SQL Server数据的复杂报表。 综上所述,SQLServerDriverForPHP11是PHP开发者处理SQL Server数据库的利器,它使得在PHP环境中访问和操作SQL Server数据变...
使用SQL 来生成SHELL 脚本371 再建表和索引372 总结373 问与答373 校练场373 练习374 第18 天PL/SQL 简介376 目标376 入门376 在PL/SQL 中的数据类型377 字符串类型377 数值数据类型378 二进制数据类型378 日期...
9. **权限管理**:SQL还可以设置表、存储过程和视图的权限,控制用户对数据的访问。 在网站开发中,SQL常常与RDBMS(关系型数据库管理系统)如MySQL、SQL Server、Oracle等结合使用,并通过服务器端脚本语言(如PHP...
RDBMS,即关系型数据库管理系统,是SQL的基础,包括如MS SQL Server、IBM DB2、Oracle、MySQL和Microsoft Access等常见系统。 SQL的主要功能包括: 1. **查询**:SQL允许用户根据需求从数据库中检索数据,通过`...
#MS SQL Dump 这是一个简单的 PowerShell 脚本,可让您为 MS SQL 创建数据库导出,类似于使用mysqldump和pg_dump ##Usage 将$database更改$database您的数据库名称并从 PowerShell 运行脚本。 它将在当前目录中创建...
3. **生成SQL脚本**:对于每一个存储过程,生成一系列SQL命令,并使用`xp_cmdshell`将其写入到指定路径下的`.sql`文件中。 ```sql exec xp_cmdshell 'echo IF EXISTS(SELECT * FROM sys.objects WHERE object_id ...
- **RDBMS数据库程序**:如MS Access、SQL Server、MySQL等。 - **服务器端脚本语言**:如PHP、ASP等。 - **SQL**:用于处理数据库的查询语言。 - **HTML/CSS**:用于网页布局和样式的设计语言。 #### RDBMS(关系...
ASP(Active Server Pages)是一种由微软开发的服务器端脚本环境,用于生成动态网页或Web应用程序。在ASP中,我们通常使用VBScript或JScript语言编写脚本,这些脚本在服务器上执行,并将结果返回到客户端的浏览器。...
- 支持的数据库类型包括DB2、Informix、Ingres、InterBase、MS Access、MySQL、Oracle 9i/10g、PostgreSQL、SQL Server 2000/2005、SQL Server 7、Sybase ASE等。 - 双击表中的数据元素打开属性对话框,选择“常规...
MSSQL(Microsoft SQL Server)则是微软公司推出的数据库管理系统,广泛应用于数据存储和管理。当我们需要在ASP环境下处理Excel数据时,可能会涉及到数据的导出和导入操作。下面将详细解释如何使用ASP导出Excel以及...