2番目のテーブルの順序が少し異なるため、現在、あるテーブルから別のテーブルにすべてのデータをコピーしようとしています。次のSQLスクリプトを使用しています。
USE LoanersTest
DROP TABLE LoanerItems1
CREATE TABLE LoanerItems1
(
LoanerKey INT NOT NULL UNIQUE
,BCPartNumber VARCHAR(255) NULL
,Manufacturer VARCHAR(255) NULL
,Model VARCHAR(255) NULL
,Modality INT NOT NULL UNIQUE
,Status INT NOT NULL UNIQUE
,Location INT NOT NULL UNIQUE
,ShelvingKey INT NOT NULL UNIQUE
,CalDate VARCHAR(255) NULL
,CalDue VARCHAR(255) NULL
,BCID VARCHAR(255) NULL
,SerialNumber VARCHAR(255) NULL
,AssetTag VARCHAR(255) NULL
,LoanTerm VARCHAR(255) NULL
,PartNumber VARCHAR(255) NULL
,Notes VARCHAR(255) NULL
,CriticalNotes VARCHAR(255) NULL
,ShippingNotes VARCHAR(255) NULL
,ReceivingNotes VARCHAR(255) NULL
,Description VARCHAR(255) NULL
,Details VARCHAR(255) NULL
,Attachments VARCHAR(255) NULL
,Manuals VARCHAR(255) NULL
,PRIMARY KEY (LoanerKey)
)
INSERT INTO LoanerItems1 (LoanerKey)
SELECT LoanerKey FROM LoanerItems
INSERT INTO LoanerItems1 (BCPartNumber)
SELECT BCPartNumber FROM LoanerItems
INSERT INTO LoanerItems1 (Manufacturer)
SELECT Manufacturer FROM LoanerItems
INSERT INTO LoanerItems1 (Model)
SELECT Model FROM LoanerItems
INSERT INTO LoanerItems1 (Modality)
SELECT Modality FROM LoanerItems
INSERT INTO LoanerItems1 (Status)
SELECT Status FROM LoanerItems
INSERT INTO LoanerItems1 (Location)
SELECT Location FROM LoanerItems
INSERT INTO LoanerItems1 (ShelvingKey)
SELECT ShelvingKey FROM LoanerItems
INSERT INTO LoanerItems1 (CalDate)
SELECT CalDate FROM LoanerItems
INSERT INTO LoanerItems1 (CalDue)
SELECT CalDue FROM LoanerItems
INSERT INTO LoanerItems1 (BCID)
SELECT BCID FROM LoanerItems
INSERT INTO LoanerItems1 (SerialNumber)
SELECT SerialNumber FROM LoanerItems
INSERT INTO LoanerItems1 (AssetTag)
SELECT AssetTag FROM LoanerItems
INSERT INTO LoanerItems1 (LoanTerm)
SELECT LoanTerm FROM LoanerItems
INSERT INTO LoanerItems1 (PartNumber)
SELECT PartNumber FROM LoanerItems
INSERT INTO LoanerItems1 (Notes)
SELECT Notes FROM LoanerItems
INSERT INTO LoanerItems1 (CriticalNotes)
SELECT CriticalNotes FROM LoanerItems
INSERT INTO LoanerItems1 (ShippingNotes)
SELECT ShippingNotes FROM LoanerItems
INSERT INTO LoanerItems1 (ReceivingNotes)
SELECT ReveivingNotes FROM LoanerItems
INSERT INTO LoanerItems1 (Description)
SELECT Description FROM LoanerItems
INSERT INTO LoanerItems1 (Details)
SELECT Details FROM LoanerItems
INSERT INTO LoanerItems1 (Attachments)
SELECT Attachments FROM LoanerItems
INSERT INTO LoanerItems1 (Manuals)
SELECT Manuals FROM LoanerItems
最初のテーブルはまったく同じ形式で (列の順序が少し異なりますが)、約 80 のレコードが含まれています。どのレコードにも null 値が含まれていませんが、このステートメントを実行すると、次の結果が返されます。
値 NULL を列 'Modality'、テーブル 'LoanersTest.dbo.LoanerItems1' に挿入できません。列はヌルを許可しません。INSERT は失敗します。
と
値 NULL を列 'LoanerKey'、テーブル 'LoanersTest.dbo.LoanerItems1' に挿入できません。列はヌルを許可しません。INSERT は失敗します。
の値はLoanerKey
、基本的に 1、2、3、4、5... 85、86、87 です。モダリティ列には、当分の間、同じ値が含まれます。この場合も、どちらの列にもヌルが含まれていませんが、このエラーが返されます。