2011-09-06 84 views
0

我從導入/導出嚮導中有一個自動生成的創建表SQL語句。但是,我創建的表格有太多行,因此我只想在某個日期之後導入。SQL創建帶有過濾器的表

我有以下幾點:

CREATE TABLE [DB1].[dbo].[Agent] (
[UserId] nvarchar(50) NOT NULL, 
[StatusDateTime] datetime NOT NULL, 
[StatusDateTimeGMT] datetime NOT NULL, 
) where StatusDateTimeGMT >='2011-08-15' 

當我嘗試添加或者是其中具有StatusDateTimeGMT場來> =「2011-08-15」,它將引發我一個錯誤的條款。我也嘗試使用CHECK約束,但沒有成功。有任何想法嗎?

以下是錯誤:

Error 0xc002f210: Preparation SQL Task: Executing the query
"CREATE TABLE [db1].[dbo].[Agent] (
[UserId] nvarchar(50) NOT NULL,
[StatusDateTime] datetime NOT NULL,
[StatusDateTimeGMT] datetime NOT NULL,
)where StatusDateTimeGMT >='20110815' " failed with the following error: "Exception from HRESULT: 0x80040E14". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

+1

您是否嘗試不使用破折號,例如> ='20110815'? –

+0

剛試過,沒有幫助。 – Jessica

+1

可能包含* actual *錯誤消息,而不僅僅是「錯誤」,並顯示一個屏幕截圖,顯示您試圖在何處添加此條款。 –

回答

1

如果明白這個問題我不知道,但如果要加載符合特定參數的數據,首先要創建表,然後插入數據你需要使用類似於下面的命令。

INSERT INTO [BD1].[dbo].[Agent] 
SELECT [UserId], [StatusDateTime], [StatusDateTimeGMT] 
FROM [sourceData] 
WHERE StatusDateTimeGMT >='2011-08-15' 

只是一個例子。

+0

我在我的SSIS包中嘗試了這個,但是我得到一個unicode收斂錯誤,從我讀過的錯誤中,通過使用嚮導來修正錯誤。 – Jessica

+0

你應該提到你正在使用SSIS。對於這種類型的錯誤,您可能沒有從正確類型的源讀取數據。你正在閱讀什麼類型的源文件? – svrx

+0

從單獨服務器中的不同數據庫中獲取。 – Jessica