Массовая вставка определенных полей - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь импортировать текстовые файлы, которые получаю, но мне нужно пропустить определенные столбцы. Прямо сейчас я использую приведенный ниже код для массовой вставки в базу данных. Я бы хотел пропустить столбцы lstnam, fstnam и midnam.

Я знаю, что могу сделать ALTER TABLE Vendor DROP column, но я бы не хотел, чтобы информация об имени вообще импортировалась. Я видел файл формата с использованием bcp, но не знаю, как это сделать, и не видел хороших примеров. Спасибо.

CREATE TABLE [dbo].[VENDOR]
(
        [ID_VENDOR] [INT] NULL,
        [VENDOR] [CHAR](20) NULL,
        [LSTNAM] [VARCHAR](60) NULL,
        [FSTNAM] [CHAR](35) NULL,
        [MIDNAM] [CHAR](1) NULL,
        [TITLCD] [CHAR](4) NULL,
        [FMTCD] [CHAR](1) NULL,
        [VENDTYP] [CHAR](2) NULL,
        [ADRLN1] [VARCHAR](55) NULL,
        [ADRLN2] [VARCHAR](55) NULL,
        [CITYCD] [CHAR](30) NULL,
        [STACOD] [CHAR](2) NULL,
        [ZIPCOD] [CHAR](10) NULL,
        [PAYVEN] [CHAR](15) NULL,
        [FEDTAX] [CHAR](16) NULL,
        [DBANAM] [VARCHAR](50) NULL,
        [W9ONFL] [CHAR](1) NULL,
        [CN1NAM] [VARCHAR](20) NULL,
        [CN1PH1] [CHAR](3) NULL,
        [CN1PH2] [CHAR](3) NULL,
        [CN1PH3] [CHAR](4) NULL,
        [CN1PH4] [CHAR](4) NULL,
        [CN2NAME] [VARCHAR](20) NULL,
        [CN2PH1] [CHAR](3) NULL,
        [CN2PH2] [CHAR](3) NULL,
        [CN2PH3] [CHAR](4) NULL,
        [CN2PH4] [CHAR](4) NULL,
        [FEDFRM] [CHAR](2) NULL,
        [TAXTYP] [CHAR](2) NULL,
        [ALTNUM] [CHAR](15) NULL,
        [CONCOD] [CHAR](2) NULL,
        [PARCOD] [CHAR](2) NULL,
        [ASCCOD] [CHAR](4) NULL,
        [NTWROL] [CHAR](1) NULL,
        [PROVNO] [CHAR](15) NULL,
        [PRVCPY] [CHAR](2) NULL,
        [PRVORG] [CHAR](4) NULL,
        [COMPNO] [TINYINT] NULL,
        [CLMTYP] [CHAR](2) NULL,
        [LICCOD] [CHAR](2) NULL,
        [PPAREFFDAT] [INT] NULL,
        [PPAREXPDAT] [INT] NULL,
        [FILGRP] [CHAR](1) NULL
    ) ON [PRIMARY]

        BULK INSERT DBO.DW_VENDOR FROM 'c:\DataWarehouse\VENDOR.txt'

1 Ответ

0 голосов
/ 07 мая 2020

Используйте файл формата, чтобы пропустить столбцы https://docs.microsoft.com/en-us/sql/relational-databases/import-export/use-a-format-file-to-skip-a-data-field-sql-server?view=sql-server-ver15 или Вставить в таблицу Выберите столбцы из OpenRowset https://blog.learningtree.com/how-use-openrowset-function-read-text-files/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...