-----------建表-----------------
IF OBJECT_ID ('SysUser', 'U') IS NULL
BEGIN
CREATE TABLE [dbo].[SysUser]
(
[Id] BIGINT IDENTITY (1, 1) NOT NULL, --主键用Id,整型,自增
[Name] NVARCHAR (32) NOT NULL,
[PhoneNumber] NVARCHAR (32) NOT NULL,
[Password] NVARCHAR (128) NOT NULL,
[UserName] NVARCHAR (256) NOT NULL,
[CreationTime] DATETIME NOT NULL,
[CreatorUserId] BIGINT NULL,
[LastLoginTime] DATETIME NULL,
[LastModificationTime] DATETIME NULL,
[LastModifierUserId] BIGINT NULL,
[IsDeleted] BIT NOT NULL,
[DeleterUserId] BIGINT NULL,
[DeletionTime] DATETIME NULL,
[IsActive] BIT NOT NULL
);
--添加聚集索引,根据业务仔细设定
CREATE CLUSTERED INDEX IX_SysUser_CreationTime
ON SysUser (CreationTime);
--添加非聚集索引
CREATE NONCLUSTERED INDEX IX_SysUser_CreatorUserId
ON SysUser (CreatorUserId);
--添加默认值
ALTER TABLE SysUser ADD CONSTRAINT DF_SysUser_CreationTime DEFAULT GetDate() FOR CreationTime
--添加主键
ALTER TABLE SysUser ADD CONSTRAINT PK_SysUser PRIMARY KEY (Id);
END
GO
--主键用Id,整型,自增; 视业务用Int或者BigInt
--业务允许时,字段尽量设置为not null,null值用空字符串代替
-----------修改表------------------
--新增字段
If Col_Length('Bas_Student','id') Is Null
Begin
Alter Table Bas_Student Add id Int IDENTITY(1,1) not Null
End
Go
--删除旧主键
IF EXISTS
(SELECT *
FROM SYSINDEXES
WHERE NAME = 'PK_WMS_INV_MATERIALSTORER')
ALTER TABLE Wms_Inv_MaterialStorer DROP CONSTRAINT PK_WMS_INV_MATERIALSTORER
--添加新主键
ALTER TABLE Wms_Inv_MaterialStorer
ADD CONSTRAINT PK_WMS_INV_MATERIALSTORER
PRIMARY KEY (CompanyID, StockID, StorerID, MaterialID, SizeID );
--添加唯一索引,来源单号
CREATE UNIQUE INDEX UI_EWS_Out_OrderMaster
ON EWS_Out_OrderMaster(CompanyID, StockID, ExtTradeId)
-----------建视图-----------------
--删除对象
IF OBJECT_ID('vwStudent', 'V') IS NOT NULL
DROP VIEW [vwStudent]
GO
--仓储作业往来单位
--Select * From vwStudent
CREATE VIEW [vwStudent]
AS
SELECT CompanyID, StockID ConsigneeID, StockName AS ConsigneeName,
CONVERT(INT, 1) AS ConsigneeType, Address, TelPhone
FROM Bas_Stock
GO
-----------对象是否存在判断-------------
--存储过程
IF OBJECT_ID('spWMS_XXXXX','P') IS NOT NULL
DROP PROCEDURE [dbo].[spWMS_XXXXX]
GO
--视图
IF OBJECT_ID('vwWMS_XXXXX', 'V') IS NOT NULL
DROP VIEW [dbo].[vwWMS_XXXXX]
GO
--临时表
IF OBJECT_ID('tempdb..#XXXXX') IS NOT NULL
DROP TABLE #XXXXX
------------调试模版-----------------
BEGIN TRY
BEGIN TRAN
ROLLBACK TRAN
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE();
ROLLBACK TRAN
END CATCH
分享到:
相关推荐
PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及...
完整性展示:DEMO提供了从基础建表到复杂约束(如外键、自增主键)等实际生产场景所需的完整SQL语句。 学习价值:对于初学者或者对Oracle数据库不熟悉的开发者来说,这是一个很好的实践教程,可以直接参照执行并...
db2 提供了关连式资料库的查询语言 sql (structured query language),是一种非常口语化...而且美国国家标准学会(ansi)及国际标准化组织(iso)在1987遵循一个几乎是以 ibm sql 为基础的标准关连式资料语言定义。
PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及...
1、建表 命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) not...
1. 本项目由于使用Mybatis作为持久层orm框架,所以并没有建表sql,项目目录中自然也就没有Sql脚本文件。 2. 默认配置使用的数据库为MySQL。MySQL是一款内存数据库,轻盈便利,适合轻量级项目使用,且方便测试。 ##...
第七讲 PL/SQL编程基础 56 7.1 PL/SQL 程序结构 56 1.PL/SQL块结构 56 2.PL/SQL块的分类(按照特性划分) 56 7.2变量与常量 56 (一)PL/SQL标识符 (给变量命名) 56 (二)标量变量 56 1.PL/SQL标识符 56 2.变量...
直接从SQL语句问题贴子数据建表并生成建表语句的存储过程 从SQL中的一个表中导出HTML文件表格 获取數据库表的前N条记录 几段SQL Server语句和存储过程 生成表中的数据的脚本 最详细的SQL注入相关的命令整理 Oracle ...
1、建表 命令:create table <表名> ( <字段名> <类型> [,..<字段名n> <类型n>]); mysql> create table MyClass( > id int(4) not null primary key auto_increment, > name char(20) not null, > sex int(4) ...
对Sql Server 数据库具有建表、备份的权限,对Access 数据库具有写权限。 QuickWAP组件 服务器需要安装最新QuickWAP组件。 系统安装步骤 1、安装QuickWAP组件。将QuickWAP.dll拷贝到System32文件夹下,在...
对Sql Server 数据库具有建表、备份的权限,对Access 数据库具有写权限。 QuickWAP组件 服务器需要安装最新QuickWAP组件。 系统安装步骤 1、安装QuickWAP组件。将QuickWAP.dll拷贝到System32文件夹下...
1.3 mysql 基础安全................................................................................................................21 1.3.1 启动程序设置 700,属主和用户组为 mysql .........................