SQL SERVER各种用法总结】的更多相关文章

sql创建临时表http://www.cnblogs.com/jeffwongishandsome/archive/2009/08/05/1526466.html sqlserver更改表名 EXEC sp_rename 'SNS_WS_EXCELLENT_DETAIL','SNS_WS_USER_EXCELLENT_DETAIL' 表变量和临时表http://www.cnblogs.com/CareySon/archive/2012/06/11/2544835.html 关于SQL中CTE(公…
1. MERGE用法:关联两表,有则改,无则加 SQL语句: create table #AAA(id int,A int,AA int,AAA int,B int) create table #BBB(A int,B int) ,,,,,,,,,,,,,,,,null , , , , merge into #AAA as t using ( )as s on s.A=t.A when matched then update set t.B=s.B ,s.A,,,s.B) output $act…
存储过程其实就是已预编译为可执行过程的一个或多个SQL语句. 通过调用和传递参数即可完成该存储过程的功能. 前面有介绍过存储过程的一些语法,但是没有详细示例,今天我们来一起研究一下存储过程. 提高性能 SQL语句在创建过程时进行分析和编译. 存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析.优化,并给出最终被存在系统表中的存储计划,这样,在执行过程时便可节省此开销. 2降低网络开销 存储过程调用时只需用提供存储过程名和必要的参数信息,从而可降低网络的流量. 3便于进行代码移植…
@@error是系统函数,当没有发生错误时返回0,如果发生错误时@@error<>0,并返回错误号,每个SQL语句执行完,@@error值都会变. @@error只记录当前错误,如果存储过程执行多个操作,就要每次都判读@@error是否出现错误,比较麻烦.今天就遇到这个问题了,下面是一个简单的例子,就可以解决这个问题. create  proc proc_Test--根据ID修改表@id int ,          --id@name varchar(20)   --名字asbegin tr…
带有output的insert语句. @@identity只能返回当前会话最后生产的标识列.  如果一次性插入多条语句的话. 需要返回这些自动生产的标识列. 那么outpu就派上用场了. declare @temp table(k int, v nvarchar(200)) insert into t1(datacol) output inserted.keycol, inserted.datacol into @temp select * from @temp ----------------…
    -- ============================================= -- Author:                tanghong -- Create date: 20130628154520 -- ============================================= CREATE PROCEDURE [dbo].[PersonalPrizeCount] @EndDate datetime, @iGroup int, @Trade…
cnnstr = "Provider=sqloledb;Data Source=192.211.21.8;Initial Catalog=pub;UID=账号;PWD=密码" VBA 从记录集到sheet:activesheet.Range("A1“).CopyFromRecordset rst…
有两个表名:source 表和 target 表,并且要根据 source 表中匹配的值更新 target 表. 有三种情况: source 表有一些 target 表不存在的行.在这种情况下,需要将 source 表中的行插入到 target 中. target 表有一些 source表不存在的行.这种情况下,需要从 target 表中删除行. source 表的某些行具有与 target 表中的行相同的键.但是,这些行在非键列中具有不同的值.这种情况下,需要使用来自 source 表中的值更…
declare @EmpCode varchar(50), @EmpName varchar(50), @EmpAddress varchar(200);declare curEmployee cursor for select empcode, empname, empaddress from tblCursoropen curEmployee fetch curEmployee into @EmpCode, @EmpName, @EmpAddresswhile @@FETCH_STATUS…
rowcount的用法: rowcount的作用就是用来限定后面的sql在返回指定的行数之后便停止处理,比如下面的示例, set rowcount 10select * from 表A 这样的查询只会返回表A中的前10条数据.它和 "select top 10 * from 表A" 的作用一样.注意一点,set rowcount 的设置会在整个会话中有效.比如下面的sql示例: set rowcount 10select * from 表Agoselect * from 表B 表A和表…