我现在要给SQLServer的数据库全部表添加主键,所有表的主键字段是id,请帮忙写个脚本
时间: 2024-09-28 17:02:58 浏览: 20
在 SQL Server 中,如果你想要为所有的表添加名为 "id" 的自动增长整数作为主键,你可以编写一个存储过程或者直接在查询分析器中运行一系列的 ALTER TABLE 语句。这里是一个基本的示例,假设所有的表都在同一个 schema 下:
```sql
DECLARE @table_name NVARCHAR(128), @sql_script NVARCHAR(MAX)
SET @table_name = ''
WHILE (@table_name IS NOT NULL)
BEGIN
SELECT TOP 1 @table_name = OBJECT_NAME(object_id)
FROM sys.objects
WHERE type_desc = 'USER_TABLE' AND name NOT LIKE '%sys%' AND is_ms_shipped = 0 AND name NOT LIKE 'dt%' AND name NOT LIKE '[_]'
IF @table_name IS NOT NULL
BEGIN
SET @sql_script = N'ALTER TABLE ' + QUOTENAME(@table_name) + N' ADD CONSTRAINT PK_' + QUOTENAME(@table_name) + '_ID PRIMARY KEY CLUSTERED (id)'
EXEC sp_executesql @sql_script
END
END
--