当前位置: 代码迷 >> VB >> 怎么用vb.net调用SQL的Create Table方法
  详细解决方案

怎么用vb.net调用SQL的Create Table方法

热度:3480   发布时间:2013-02-26 00:00:00.0
如何用vb.net调用SQL的Create Table方法
我要的内容:在SQL里对表右键Script Table as ->  Create To ->  New Query Editor Window的代码,下面有个例子。
我要用vb.net把它调用出来,即我要拿到SQL  Create Table的Sql语句代码,怎么写?
(已实现SQL登录,我只要Create Table的语句,不知道怎么调用出来)。

附Sql的 Create table代码例子

USE [Tecsys_db1]
GO

/****** Object:  Table [dbo].[tblBOMDefaultVersion]    Script Date: 01/29/2013 09:59:59 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[tblBOMDefaultVersion](
[ProductCode] [nvarchar](30) NOT NULL,
[ProductID] [uniqueidentifier] NOT NULL,
[ProductVer] [nvarchar](16) NOT NULL,
 CONSTRAINT [PK_tblBOMDefaultVersion] PRIMARY KEY NONCLUSTERED 
(
[ProductCode] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[tblBOMDefaultVersion] ADD  CONSTRAINT [DF_tblBOMDefaultVersion_Product]  DEFAULT ('') FOR [ProductCode]
GO

ALTER TABLE [dbo].[tblBOMDefaultVersion] ADD  CONSTRAINT [DF_tblBOMDefaultVersion_ProductID]  DEFAULT (newid()) FOR [ProductID]
GO

ALTER TABLE [dbo].[tblBOMDefaultVersion] ADD  CONSTRAINT [DF_tblBOMDefaultVersion_Version]  DEFAULT ('') FOR [ProductVer]
GO



------解决方案--------------------------------------------------------
最好是用管理工具批量导出 sql。

否则你需要自己拼接 sql 了,幸好表、字段等定义可以直接从数据库取得:
SQL Server 2000 看系统表 sysobjects、syscolumns
SQL Server 2005 看 对象目录视图

------解决方案--------------------------------------------------------
阅读分析帮助应该是程序员的基本技能啊!
1)sysobjects 中找 name='tblBOMDefaultVersion' 的记录,取得 Id,这是关键标识。
2)syscolumns 中找 id=<表的Id>,这是所有字段。字段类型需要查一下 systypes。
这样字段定义就有了。
3)sysobjects 中找 parent_obj=<表的Id>,这是该表下属的各种主键、索引、约束等对象。
4)同样可在 syscolumns 找到对应的字段。
安装语法合成 SQL。
  相关解决方案