Sybase建主键、索引可重复执行的写法

--建主键

DECLARE @pk_name VARCHAR(80)
BEGIN

select @pk_name=a.name from sysindexes a
INNER JOIN sysobjects b ON a.id=b.id
WHERE a.status&2048=2048
and b.name='TXN_57_CARD_REFUND'
IF @pk_name IS NOT NULL
BEGIN
EXECUTE('ALTER TABLE TXN_57_CARD_REFUND DROP CONSTRAINT '+@pk_name)
END

ALTER TABLE TXN_57_CARD_REFUND ADD CONSTRAINT PK_TXN_57_CARD_REFUND PRIMARY KEY (DEVICE_SEQ,REPORT_DATE,STATION_ID,DEVICE_ID,TXN_TIME)

END

--建索引

IF NOT EXISTS(
SELECT *
FROM sysindexes
WHERE id = ( SELECT id
FROM sysobjects
WHERE name = 'MON_FTP_SEND_FILE_HISTORY'
)
AND name = 'FILE_TIME_INDEX')
CREATE INDEX FILE_TIME_INDEX ON MON_FTP_SEND_FILE_HISTORY (FILE_NAME,REPORT_DATE)

原文地址:https://www.cnblogs.com/dll102/p/15788715.html