openrowset的用法可以參考msdn http://technet.microsoft.com/zh-cn/library/ms190312.aspx 如果檔案很多,建議還是用程式倒入了 複製代碼 代碼如下: if (object_id ('t_bulkResult' ) is not null ) drop table t_bulkResult create table t_bulkResult (name varchar (1000 ), data image ) go
複製代碼 代碼如下: create trigger TR_MasterTable_Update on MasterTable after update as if update ([Type])--當Type欄位被更新時,才會觸發此觸發器 insert into MasterLogTable select Id ,(Case [Type] when 1 then 'Type1' when 2 then 'Type2' when 3 then 'Type3' when 4 then 'Type4'
使用javascript的數組來計算,代碼如下: 複製代碼 代碼如下: use tempdb go if (object_id ('fn_getArray' ) is not null ) drop function dbo . fn_getArray go create function fn_getArray (@ inStr1 varchar (8000 ), @ inStr2 varchar (8000 )) returns varchar (8000 ) as begin
官方的參考文檔 http://technet.microsoft.com/zh-cn/library/ms187074%28SQL.90%29.aspx 他們作用於比較子和子查詢之間,作用類似Exists、not exists、in、not in以及其他邏輯意義,這些文法同樣被SQLServer2000支援但是很少看到有人用它們。 複製代碼 代碼如下: set nocount on use tempdb go if (object_id ('t1' ) is not null ) drop
下面方法可以用來快速產生一批資料 if(object_id('t') is not null) drop table t go create table t(id int identity(1,1),name varchar(40)) go insert into t(name) select newid() go 10 select * from t /* 1 18C1C418-9029-4599-8D5E-616354A113C8 2
USE MASTER GO IF EXISTS(SELECT * FROM dbo.sysdatabases WHERE name='my_test_database') DROP DATABASE [my_test_database] GO CREATE DATABASE [my_test_database] GO USE [my_test_database] GO CREATE TABLE [my_table] ([my_id] VARCHAR(16)) GO --預存程序開始 :
1、SQL SERVER 2005的效能工具中有SQL Server Profiler和Database Engine Tuning Advisor,極好的東東,必須熟練使用。 2、查詢SQL語句時開啟“顯示估計的執行計畫”,分析每個步驟的情況 3、初級做法,在CPU佔用率高的時候,開啟SQL Server Profiler運行,將跑下來的資料存到檔案中,然後開啟Database Engine Tuning Advisor調用那個檔案進行分析,由SQL
declare @TopCount int set @TopCount = 100 select top (@TopCount) * from AdventureWorks.HumanResources.Employee 如果有Like等字句,一定要拼Sql的話,也應該使用sp_executesql來執行,樣本如下: declare @TopCount int --定義top 數量 set @TopCount = 100 declare @Title nvarchar(100)
一、問題 給了兩個各有四五十個列的表,找出他們相同的列和不同的列二、查詢兩個表的列,存在暫存資料表--#a ,#b都是暫存資料表,當前串連斷開後自動刪除--RANK() OVER (ORDER BY syscolumns.name DESC) AS 是SQL2005支援的,在每行記錄前加上自增序號--IDENTITY(INT,1,1) 函數必須要和into聯合使用1、將表的列存入#a--'destTbl'比較的表名select * into #a from (select
類似如下: select A.key,B.key,C.key from A,B,C where trim(A.key)=trim(B.fk) and trim(A.col)=trim(C.pk)。 在主表A(200多條記錄)關聯附表B(4萬多條記錄)時用了1秒鐘時間,該值在不同機器執行可能有所差異,但比不加trim速度稍微慢一些,但是不是特別明顯。 其sql語句類似如下: select A.key,B.key from A,B where trim(A.key)=trim(B.fk)