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)

posted @   一只竹节虫  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-01-11 oracle存储过程通过游标输出Sql结果集
点击右上角即可分享
微信分享提示