添加方法如下:
1、打开SQL,在身份验证中选择“windows身份验证”后,点击下方的"连接“按钮。连接后选择数据库-新建数据库,建立名为”test“的数据库。
2、在数据库下找到新建的”test“,点击”+“找到表--新建,在这个表里可以看到列名,数据类型和允许null值。
3、添加完表后,系统会出现添加表名的对话框,在输入表名称中输入表名后,点击”确定“按钮。
4、找到刚刚新建的表,右键点击找到“编辑”,就可以在里面编辑内容了。
5、添加好数据后,在”新建查询“出现的空白框中输入SQL语句即可。
-- ================================-- 创建和使用自定义表类型
-- ================================
USE master
GO
-- ================================
-- 创建测试数据库
-- ================================
CREATE DATABASE demo
GO
-- ================================
-- 创建一个表
-- ================================
USE demo
GO
CREATE TABLE Customers
(
Id int NOT NULL,
Name char(10) NULL,
PRIMARY KEY (Id)
)
GO
USE demo
GO
-- ================================
-- 创建自定义表类型
-- ================================
CREATE TYPE dbo.CustomerTable AS TABLE
(
Id int NOT NULL,
Name char(10) NULL,
PRIMARY KEY (Id)
)
GO
-- =================================
-- 直接使用自定义表类型
-- =================================
DECLARE @c CustomerTable
INSERT INTO @c VALUES(1,'Xizhang')
SELECT * FROM @c
-- =================================
-- 在存储过程中使用自定义表类型
-- =================================
CREATE PROC GetCustomers
(@c CustomerTable READONLY)
AS
INSERT Customers SELECT * FROM @c --将传过来的参数(其实是一个表)的数据插入到Customers表里面去
-- =================================
-- 调用该存储过程,一次性插入4行数据
-- =================================
DECLARE @temp CustomerTable
INSERT INTO @temp VALUES(7,'Xizhang')
INSERT INTO @temp VALUES(2,'Xizhang')
INSERT INTO @temp VALUES(3,'Xizhang')
INSERT INTO @temp VALUES(4,'Xizhang')
EXEC GetCustomers @c=@temp
SELECT * FROM Customers
-- =================================
-- 清理数据库
-- =================================
USE master
GO
DROP DATABASE demo
GO
看起来不错对吧,但是你应该马上想到一个问题,如果说这个存储过程要在客户端代码中调用,那么该怎么提供这个参数值呢?
using System.Data.SqlClient
using System.Data
class Program
{
static void Main(string[] args)
{
DataTable tb = GetData()
using (SqlConnection conn = new SqlConnection("server=sql2008database=demointegrated security=true"))
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "GetCustomers"
cmd.CommandType = CommandType.StoredProcedure
SqlParameter param = new SqlParameter("@c", SqlDbType.Structured)//这个类型很关键
param.Value = tb
cmd.Parameters.Add(param)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
}
}
Console.WriteLine("完成 *** 作")
Console.Read()
}
private static DataTable GetData()
{
DataTable tb = new DataTable()
tb.Columns.Add("Id",typeof(int))
tb.Columns.Add("Name", typeof(string))
//添加100个客户资料
for (int i = 0i <100i++)
{
DataRow row = tb.NewRow()
row[0] = i
row[1] = "Name " + i.ToString()
tb.Rows.Add(row)
}
return tb
}
}
详细步骤如下:
1、点击【新建查询】按钮,打开SQL命令编辑框,对数据库表的 *** 作以及维护都可以通过编辑SQL命令实现。
2、在编辑框内编辑创建数据库表的代码,确认代码无误后,单击【执行】按钮,创建数据表。
3、创建数据表的源代码如下:
use test
go
if exists(select name from sys.tables where name='Student')
drop table Student
go
create table Student
(sname nchar(10) primary key,
sex nchar(2) not null,
bir datetime
)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)