1.INSERT INTO SELECT语句 语句形式为: Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value] []为可选内容 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量. 示例如下: insert into tjjrmx(yybh,xh,tjxmbh,jg,sfyx,zhxmb…
实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份.让我帮他解决一下,不然他要赔偿客户很多钱. SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份.…
A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' AS B , N'C' AS C ; END 同一台服务器实例,A,B两个数据库, 在B库的存储过程中,调用A库的存储过程 B库: ALTER PROCEDURE [dbo].[spAAAForTest2] ( ) =null , ) =null ) AS BEGIN ); set @sql =…
前几天在SQL Server 2008同步产品数据时,总是提示二进制文本被截断的错误,但是经过检查发现数据都符合格式要求. 百思不得其解,单独插入一条条数据则可以插入,但是批量导入则报错. 批量导入代码示例如下: SELECT * into #product from 一系列的表关联 where 若干条件 ... insert into t_product select * from #product 最后无奈之下改为用游标循环插入: ---使用游标测试插入过程 DECLARE Prod_Cu…
QT通过ODBC连接数据库SQL Server 2008,进行数据插入时遇到的问题: 先把数据存入变量中,如何使用变量进行插入?插入语句该怎么写? QSqlQuery query(db); query.exec("insert into device values('"+datetime+"','"+splantNum+"','"+sdeviceNum+"','"+stemper+"','"+spress+…
1,用Opendatasource系统函数 详细的用法已经注释在sql代码中了.这个是在sqlserver到sqlserver之间的倒数据.2005,2008,2012应该都是适用的. --从远程服务器192.168.66.154上查询100条数据,然后导入到dbo.dquestiondata中 insert into dbo.dquestiondata select top 100 * from opendatasource('sqloledb','data source=192.168.6.…
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters),高效插入数据. 新建数据库: --Create DataBase create database BulkTestDB; go use BulkTestDB; go --Create Table Create tab…
语句 SELECT * FROM 数据库A.dbo.表A a, 数据库B.dbo.表B b WHERE a.field=b.field "DBO"可以省略 如 SELECT * FROM 数据库A..表A a, 数据库B..表B b WHERE a.field=b.field SqlServer数据库: --这句是映射一个远程数据库 EXEC sp_addlinkedserver '远程数据库的IP或主机名',N'SQL Server' --这句是登录远程数据库 EXEC sp_add…
最近遇到一个问题,要将 a 服务器上的 A 库,迁移到 b 服务器上的 B 库,两个库的数据结构是一样的,但是数据库版本是 a 比 b 高,通过 sqlserver 还原这条路是走不通了,那难道除了使用 SQLBlukCopy 就没有别的办法了吗?别急,看下面这种方式. 方式:使用 sqlserver 自带的数据导入工具,我们可以实现数据的快速转移,并且不受 sqlserver 版本的限制. 首先,我们在 b 上,新建一个数据库 B,然后新建数据表,表结构和 a 的 A 保持一致就行.接下来就…
A库存储过程: create PROCEDURE [dbo].[spAAAForTest] ( ) =null , ) =null ) AS BEGIN select N'A' AS a , N'B' AS B , N'C' AS C ; END 同一台服务器实例,A,B两个数据库, 在B库的存储过程中,调用A库的存储过程 B库: ALTER PROCEDURE [dbo].[spAAAForTest2] ( ) =null , ) =null ) AS BEGIN ); set @sql =…
最近发布的脚本,有那种防止重复插入数据(包括存在时更新,不存在是插入的处理,判断的方向可能与下面的示例相反) 使用类似下面的 SQL declare @id int, @value int if not exists( select * from tb where id = @id ) insert tb values( @id, @value ); --else -- update tb set value = @value where id = @id; 或者是使用这种单句的 declar…
use master go select * from sys.dm_os_buffer_descriptors go --查看数据库在数据缓存(data cache)中占用的空间大小 --由于每个数据页对应动态管理视图(dynamic management view,DMV)中的一行,为128 字节,为1/8个千字节(KB) --1字节(Byte)=8位(Bit) --1千字节(KB)=1024字节(Byte) --1兆(MB)=1024千字节(KB) as 'Cached Size(MB)'…
INSERT INTO #DirtyOldWIPBOM SELECT TOP (100) PERCENT dbo.WIP_BOM.Model, dbo.WIP_BOM.PartNumber,WIP_BOM.WIP FROM dbo.WIP_BOM left OUTER JOIN dbo.BOM_CHINA ON LTRIM(dbo.WIP_BOM.Model) = LTRIM(dbo.BOM_CHINA.Model) AND LTRIM(dbo.WIP_BOM.PartNumber) = LT…
表是5字段int类型,第一个字段是主健,自增字段 表结构: id int Uncheckedbillno bigint Uncheckedopid int Checkedbillopid int Checkedtag int Checked 存储过程: CREATE proc [dbo].[inbill]@bills bigint,@bille bigint,@billopid int,@result int output,@incount int outputasbegin set…