錯誤:圖一 如果不能很好地執行登入觸發器,那麼將會導致登入失敗。 例如,如果建立了這個觸發器,那麼就可以設計下面的代碼來達到失敗的目的。複製代碼 代碼如下:CREATE TRIGGER BadLogonTrigger ON ALL SERVER FOR LOGON AS BEGIN INSERT INTO BadDB.dbo.SomeTable VALUES ('Test'); END; GO
SQL Server推薦使用 SET 而不是 SELECT 對變數進行賦值。當運算式返回一個值並對一個變數進行賦值時,推薦使用 SET 方法。下表列出 SET 與 SELECT 的區別。請特別注意紅色部分。 setselect同時對多個變數同時賦值不支援支援運算式返回多個值時出錯將返回的最後一個值賦給變數運算式未傳回值變數被賦null值變數保持原值下面以具體樣本來說明問題:create table chinadba1(userid int ,addr varchar(128)
複製代碼 代碼如下:set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go Create PROCEDURE [dbo].[SP_Pagination] /**//* *************************************************************** ** 千萬數量級分頁預存程序 ** ***************************************************************
1. SQL Server匯入匯出嚮導,這種方式是最方便的.匯入嚮導,微軟提供了多種資料來源驅動,包括SQL Server Native Cliant, OLE DB For Oracle,Flat File Source,Access,Excel,XML等,基本上可以滿足系統開發的需求. 同樣匯出嚮導也有同樣多的目的源驅動,可以把資料匯入到不同的目的源. 對資料庫管理員來說這種方式簡單容易操作,匯入時SQL Server也會幫你建立相同結構的Table. 2.
複製代碼 代碼如下:declare @delStr nvarchar(500) set @delStr='<script src=http://www.kansm.com/js/common.js></script>' --這裡被注入的欄位串 /****************************************/ /**********以下為操作實體************/ set nocount on declare @tableName
按這個來算,我們那個發水票的時間就會由 10分鐘-->20秒,這可太神奇了。 於是乎,下demo,測試,改成自己一般使用的方法測試,NND,還真可以說是極速。 在此貼上我的Demo:SqlBulkCopy.rar 複製代碼 代碼如下:using System; using System.Diagnostics; using System.Data; using System.Data.SqlClient; using Microsoft.ApplicationBlocks.Data;
複製代碼 代碼如下: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'
使用以下指令碼查看資料庫索引片段的大小情況: 複製代碼 代碼如下:DBCC SHOWCONTIG WITH FAST, TABLERESULTS, ALL_INDEXES, NO_INFOMSGS 以下使用指令碼來處理維護作業: 複製代碼 代碼如下:/*Perform a 'USE <database name>' to select the database in which to run the script.*/ -- Declare variables SET