yiwai 发表于 2018-10-11 13:57:33

修改SQL Server 的排序规则

  ALTER TABLE dbo.EmpBasic DROP CONSTRAINT DF__EmpBasic__FirstN__2319CD4B
  ALTER TABLE dbo.EmpBasic DROP CONSTRAINT ......
  CREATE TABLE dbo.Tmp_EmpBasic ( ......
  FirstName nvarchar(30) COLLATE Chinese_PRC_CI_AS NULL,
  ...... ) ON
  ALTER TABLE dbo.Tmp_EmpBasic SET (LOCK_ESCALATION = TABLE)
  GRANT DELETE ON dbo.Tmp_EmpBasic TO public AS dbo
  GRANT INSERT ON dbo.Tmp_EmpBasic TO public AS dbo
  GRANT SELECT ON dbo.Tmp_EmpBasic TO public AS dbo
  GRANT UPDATE ON dbo.Tmp_EmpBasic TO public AS dbo
  ALTER TABLE dbo.Tmp_EmpBasic ADD CONSTRAINT DF__EmpBasic__FirstN__2319CD4B DEFAULT ('') FOR FirstName
  ALTER TABLE dbo.Tmp_EmpBasic ADD CONSTRAINT DF__EmpBasic__Middle__240DF184 ......

  SET>  IF EXISTS(SELECT * FROM dbo.EmpBasic)
  EXEC('INSERT INTO dbo.Tmp_EmpBasic (Company, EmpID, FirstName,......)
  SELECT Company, EmpID, FirstName, ...... FROM dbo.EmpBasic WITH (HOLDLOCK
  TABLOCKX)')

  SET>  DROP TABLE dbo.EmpBasic
  EXECUTE sp_rename N'dbo.Tmp_EmpBasic', N'EmpBasic', 'OBJECT'
  CREATE UNIQUE CLUSTERED INDEX EmpID ON dbo.EmpBasic
  (Company, EmpID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = OFF) ON
  CREATE NONCLUSTERED INDEX FirstName ON dbo.EmpBasic
  ( Company, FirstName, LastName ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
  ALLOW_PAGE_LOCKS = OFF) ON
  create trigger _ti_EmpBasic ON dbo.EmpBasic for insert as
  begin
  ......
  end

页: [1]
查看完整版本: 修改SQL Server 的排序规则