SQL server 数据库创建与存储过程创建

1.创建数据库与数据表

创建数据库

– 创建数据库
IF DB_ID(‘数据库名称’) IS NULL
CREATE DATABASE 数据库名称
GO

– 创建表
USE LGDB_CLZB6
GO

– 1 创建表1
IF NOT EXISTS(SELECT * FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(‘你的表名称1’) AND type IN (N’U’))
CREATE TABLE Board
( --字段
ID INT IDENTITY(1, 1) PRIMARY KEY,
RoomID INT NOT NULL,
SchoolID VARCHAR(50) NOT NULL,
ClassID VARCHAR(50),
)
GO

– 2 创建表2
IF NOT EXISTS(SELECT * FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(‘你的表名称2’) AND type IN (N’U’))
CREATE TABLE Board
( --字段
ID INT IDENTITY(1, 1) PRIMARY KEY,
RoomID INT NOT NULL,
SchoolID VARCHAR(50) NOT NULL,
ClassID VARCHAR(50),
)
GO

2.对一个表的存储过程创建

1.如何调试

去sql server management studio 中在数据库的可编程性的存储过程中创建一个存储过程调试文件

2.使用CREATE PROCEDURE创建存储过程

CREATE PROCEDURE 创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。
模板:

if (exists (select * from sys.objects where name = 'pro_name'))
    drop proc pro_name
go
create proc pro_name
    @param_name param_type [=default_value]
as
begin    
    sql语句
end
3.存储过程例子

查询一条数据:

declare @p_text varchar(max)
IF EXISTS(SELECT * FROM sys.objects
    WHERE OBJECT_ID = OBJECT_ID('ecb_proc_TABLE_NAME__get_getAll') AND type IN (N'P'))
DROP PROCEDURE ecb_proc_TABLE_NAME__get_getAll
GO
CREATE PROCEDURE ecb_proc_TABLE_NAME__get_getAll
AS
SELECT  ID, DeviceType,DeviceName
FROM dbo.TABLE_NAME
GO

这里的TABLE_NAME是你要查询的数据表名称,__get表示获取数据
调用时代码如下:

 protected SqlDB db;
  public List GetAll()
        {
            DataTable dt = db.FromProcedure("ecb_proc_TABLE_NAME__get_getAll").Query();
            if (dt.Rows.Count < 0)
                return null;
            else
                return Get(dt);
        }
        
  protected override Device Get(DataRow row)
        {
            return new Device
            {
                ID = row.Value(0),
                DeviceType = row.Value(1),
                DeviceName = row.Value(2),        
            };
        }
  protected List Get(DataTable dt)
        {
            List list = new List();
            foreach (DataRow row in dt.Rows)
                list.Add(Get(row));
            return list;
        }

更新一条数据:

IF EXISTS(SELECT * FROM sys.objects
    WHERE OBJECT_ID = OBJECT_ID('ecb_proc_Device_Setting__update_device') AND type IN (N'P'))
DROP PROCEDURE ecb_proc_Device_Setting__update_device
GO
CREATE PROCEDURE ecb_proc_Device_Setting__update_device
(
    @ID int,
    @LessonSignInEnable BIT,
    @DeviceOperate int,
    @OperateSecCode VARCHAR(30),
    @Extra int
)
AS
UPDATE dbo.Device_Setting
SET LessonSignInEnable=@LessonSignInEnable,DeviceOperate=@DeviceOperate,OperateSecCode=@OperateSecCode,Extra=@Extra
WHERE ID=@ID
GO

插入一条数据:

IF EXISTS(SELECT * FROM sys.objects
    WHERE OBJECT_ID = OBJECT_ID('ecb_proc_face_use__add_courseItem') AND type IN (N'P'))
DROP PROCEDURE ecb_proc_face_use__add_courseItem
GO
CREATE PROCEDURE ecb_proc_face_use__add_courseItem
( 
	@StartTime TIME(0),
	@EndTime TIME(0),
	@FaceTime TIME(0)
)
AS
INSERT INTO face_use (StartTime, EndTime,FaceTime)
VALUES
( @StartTime, @EndTime,@FaceTime)
END
GO

没有就插入一条数据,否则就更新:

-- add courseItem
IF EXISTS(SELECT * FROM sys.objects
    WHERE OBJECT_ID = OBJECT_ID('ecb_proc_face_use__add_courseItem') AND type IN (N'P'))
DROP PROCEDURE ecb_proc_face_use__add_courseItem
GO
CREATE PROCEDURE ecb_proc_face_use__add_courseItem
(
    @CourseID NVARCHAR(255),
	@ClassroomID NVARCHAR(255),
	@StartTime TIME(0),
	@EndTime TIME(0),
	@FaceTime TIME(0)
)
AS
IF EXISTS(SELECT * FROM face_use WHERE CourseID = @CourseID And ClassroomID=@ClassroomID)
BEGIN
UPDATE face_use SET StartTime=@StartTime, EndTime=@EndTime ,FaceTime=@FaceTime WHERE Id = @id
END
ELSE
BEGIN
INSERT INTO face_use (CourseID, ClassroomID, StartTime, EndTime,FaceTime)
VALUES
(@CourseID,@ClassroomID, @StartTime, @EndTime,@FaceTime)
END
GO

查询数据:


-- [announce room] UPDATE by course id
IF EXISTS(SELECT * FROM sys.objects
    WHERE OBJECT_ID = OBJECT_ID('ecb_proc_Face_Use__get_by_c') AND type IN (N'P'))
DROP PROCEDURE ecb_proc_Face_Use__update_by_c
GO
CREATE PROCEDURE ecb_proc_Face_Use__update_by_c
(
    @AddDay INT
)
AS
SELECT AddDay,FaceTime FROM dbo.Face_Use
WHERE AddDay = @AddDay
GO

调试存储过程:
1.找到你要调试的存储过程
SQL server 数据库创建与存储过程创建_第1张图片
右击选择执行存储过程,出来下面,输入参数点击确定即可:
SQL server 数据库创建与存储过程创建_第2张图片

你可能感兴趣的:(.net)