如何用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。