Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 12766|Antwort: 0

[Quelle] SQL Server 2000 erzeugt 1024 Tabellen in einer Schleife

[Link kopieren]
Veröffentlicht am 09.02.2015 14:04:26 | | |
  1. declare @i int
  2. declare @j int
  3. declare @sql varchar(4000)
  4. declare @sqlsource_delete varchar(4000)
  5. declare @sqlsource_create varchar(4000)
  6. declare @sn varchar(10)

  7. set @sql = ''
  8. set @i=1
  9. set @sqlsource_delete = 'drop table [dbo].[Test_{SN}]'
  10. set @sqlsource_create = 'CREATE TABLE [dbo].[Test_{SN}] (
  11. [iid] [int] IDENTITY (1, 1) NOT NULL ,
  12. [headid] [int] NULL ,
  13. [istid] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  14. [istname] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  15. [isturl] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  16. [ititle] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  17. [icontents] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  18. [icontent] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
  19. [iurl] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
  20. [ipic] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
  21. [ipdate] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  22. [iedate] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  23. [icompname] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  24. [icompemail] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  25. [iphone] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  26. [ifax] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
  27. [ishengf] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  28. [iaddress] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  29. [ilianxiren] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  30. [imobile] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  31. [isite] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  32. [isamecount] [int] NULL ,
  33. [imainid] [int] NULL ,
  34. [creationDate] [datetime] NOT NULL DEFAULT getdate() ,
  35. [lastModifiedDate] [datetime] NOT NULL DEFAULT getdate()
  36. CONSTRAINT [PK_Test_{SN}] PRIMARY KEY  CLUSTERED
  37. (
  38.   [iid]
  39. )  ON [PRIMARY]  
  40. ) ON [PRIMARY]'

  41. while @i<=1024
  42. begin
  43.     set @sn = cast(@i as varchar(10))
  44.     set @j=len(@sn)
  45.    
  46.     if exists (select * from dbo.sysobjects where id = object_id('[dbo].[Test_' + @sn + ']') and OBJECTPROPERTY(id, 'IsUserTable') = 1)
  47.     begin
  48.         set @sql = replace(@sqlsource_delete, '{SN}', @sn)
  49. --print @sql
  50.         execute(@sql)
  51.     end

  52.     set @sql = replace(@sqlsource_create, '{SN}', @sn)
  53.     --print @sql
  54.     execute(@sql)

  55.     set @i = @i + 1
  56. end
Code kopieren





Vorhergehend:XML-Anfängersyntax
Nächster:SQL-Methode zum Entleeren von Tabellendaten
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com