第一種方案、最簡單、普通的方法:複製代碼 代碼如下:SELECT TOP 30 * FROM ARTICLE WHERE ID NOT IN(SELECT TOP 45000 ID FROM ARTICLE ORDER BY YEAR DESC, ID DESC) ORDER BY YEAR DESC,ID DESC 平均查詢100次所需時間:45s第二種方案:複製代碼 代碼如下:SELECT * FROM ( SELECT
先備份資料庫,再用下面的辦法: 複製代碼 代碼如下: USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO ALTER DATABASE Database_Name SET EMERGENCY GO sp_dboption 'Database_Name', 'single user', 'true' GO DBCC
複製代碼 代碼如下: --執行順序 From Where Select select * from (select sal as salary,comm as commission from emp ) x where salary<5000 --得出 Name Work as a Job select ename +' Work as a'+job as msg from emp where deptno=10 --如果員工工資小於2000返回UnderPaid 大於等於4k
有兩個結構完全相同的表,由其中一個表插入另一個表中指定條件的資料,報如下錯誤: 僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'*'中的識別欄位指定顯式值。 在網上找到瞭解決方案,親自試過,可以解決。 方法: 複製代碼 代碼如下: SET IDENTITY_INSERT test ON insert into test(id,name) select id,name from test2 --<SPAN style="FONT-SIZE: 14px;
根據一般做法的話,匯出部分欄位時沒有辦法產生格式化XML檔案,所以匯入時就沒有辦法格式化匯入資料。 我想到兩點,1.手工修改格式化XML檔案,2.創造一個能產生格式化XML檔案的中間對象。 在MSDN中尋找方法時,突然想到可以使用視圖來做中間對象,於是就搭一個測試下。以下是測試記錄: 複製代碼 代碼如下: USE master GO CREATE DATABASE [db_test] GO USE db_test GO CREATE TABLE dbo.T_test( ID [int]
如下: 複製代碼 代碼如下: CREATE FUNCTION [dbo].[udf_DaysInMonth] ( @Date DATETIME ) RETURNS INT AS BEGIN DECLARE @dim AS TABLE (M INT,Dy INT) INSERT INTO @dim VALUES (1,31),(3,31),(5,31),(7,31),(8,31),(10,31),(12,31), (4,30),(6,30),(9,30),(11,30), (2, CASE