как изменить таблицу Составной первичный ключ - PullRequest
0 голосов
/ 31 августа 2009
CREATE TABLE [dbo].[INVS_ITEM_LOCATIONS]
([DEPARTMENT_CODE] [varchar](3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
 [IM_INV_NO] [numeric](10, 0) NOT NULL,
 [LOCATION_CODE] [varchar](2) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
 [CURR_QTY] [numeric](10, 0) NOT NULL CONSTRAINT [DF__INVS_ITEM__CURR___1352D76D]  DEFAULT ((0)),
 [DO_QTY] [numeric](10, 0) NOT NULL CONSTRAINT [DF__INVS_ITEM__DO_QT__1446FBA6]  DEFAULT ((0)),
 [ALLOC_QTY] [numeric](10, 0) NOT NULL CONSTRAINT [DF__INVS_ITEM__ALLOC__153B1FDF]  DEFAULT ((0)),
 [YOB_QTY] [numeric](10, 0) NOT NULL CONSTRAINT [DF__INVS_ITEM__YOB_Q__162F4418]  DEFAULT ((0)),
 [FOC_QTY] [numeric](10, 0) NULL CONSTRAINT [DF__INVS_ITEM__FOC_Q__17236851]  DEFAULT ((0)),
 [USER_CREATED] [varchar](25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
 [DATE_CREATED] [datetime] NOT NULL,
 [USER_MODIFIED] [varchar](25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
 [DATE_MODIFIED] [datetime] NULL,

 CONSTRAINT [INVS_ITEM_LOCATIONS_PK] 
 PRIMARY KEY CLUSTERED ([DEPARTMENT_CODE] ASC,
 [IM_INV_NO] ASC, [LOCATION_CODE] ASC)
 WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Это моя структура таблицы ...... как я могу удалить составной первичный ключ в таблице, а также я должен добавить внешний ключ к ссылочной таблице im_inv_no - invs_location, которая содержит im_inv_no, а код отдела должен быть таким же первичным ключом .pls помощь

Ответы [ 2 ]

4 голосов
/ 31 августа 2009

Чтобы удалить составной первичный ключ, используйте:

ALTER TABLE dbo.INVS_ITEM_LOCATIONS
  DROP CONSTRAINT INVS_ITEM_LOCATIONS_PK

Чтобы добавить внешний ключ, используйте это:

ALTER TABLE dbo.INVS_ITEM_LOCATIONS
  ADD CONSTRAINT FK_INV_NO_REFERENCE
  FOREIGN KEY(IM_INV_NO, DEPARTMENT_CODE)
  REFERENCES dbo.invs_location(IM_INV_NO, DEPARTMENT_CODE)

Это все действительно простые вопросы для начинающих по SQL - я бы настоятельно рекомендовал вам прочитать одно из различных хороших учебных пособий по SQL, чтобы сначала привыкнуть к SQL, прежде чем публиковать каждый каждый маленький вопрос здесь ...

Учебное пособие по W3Schools SQL

Марк

1 голос
/ 31 августа 2009

Вы можете создавать новые таблицы с необходимыми изменениями, копировать данные, переименовывать новые тальбы в те же имена, что и старые таблицы, и удалять старые. Это, вероятно, самый эффективный способ.

...