zoukankan      html  css  js  c++  java
  • sqlserver 脚本处理

    目录

    以下案例围绕表Test2020开展

     

    1.新增表

    IF NOT EXISTS ( SELECT * FROM sysobjects WHERE id = OBJECT_ID('Test2020')  AND type = 'U' ) 
        CREATE TABLE [Test2020]
        (
              [A] [uniqueidentifier] PRIMARY KEY CLUSTERED NOT NULL ,
              [B] [varchar](50) ,
              [C] [varchar](50)
         ) ;
    GO

    2.如果不存在该字段,则新增(D为字段名)

    IF NOT EXISTS(SELECT * FROM syscolumns WHERE id = OBJECT_ID('Test2020') AND name = 'D') 
        ALTER TABLE [Test2020] ADD [D] [varchar] (50) ;
    GO

    表字段处理

    -- 增加字段     
    alter table Test2020  add filedName1 char(200)
    -- 删除字段     
    ALTER TABLE table_NAME DROP COLUMN column_NAME
    -- 修改字段类型     
    ALTER TABLE table_name ALTER COLUMN column_name new_data_type
    -- sp_rename 改名     
    EXEC sp_rename '[dbo].[Table_1].[filedName1]', 'filedName2', 'COLUMN'
    -- EXEC sp_rename '[dbo].[Test2020].[B1]', 'B', 'COLUMN'
    -- ALTER TABLE Test2020 ALTER COLUMN filedName1 varchar(50)

    3.视图(v_test2020为视图名称)

    IF EXISTS (SELECT * FROM sysobjects WHERE id =OBJECT_ID('v_test2020') AND type = 'V' ) 
        DROP VIEW v_test2020
    GO
    /*
    创建人:chenze
    创建时间: 2020-05-01
    说明:  获取测试信息列表
    修改人:hjp
    修改时间:2020-05-15
    修改说明:增加...操作
    */
    
    CREATE VIEW v_test2020
    AS
        SELECT A,B,C FROM Test2020
    GO

    4.新增存储过程

    IF ( SELECT OBJECT_ID('uspTest2020')) IS NOT NULL 
        DROP PROC uspTest2020
    GO
    /*
    创建人:chenze
    创建时间: 2020-05-01
    说明:  获取测试信息列表
    修改人:hjp
    修改时间:2020-05-15
    修改说明:增加...操作
    */
    CREATE PROCEDURE uspTest2020
        @A uniqueidentifier
    AS
    BEGIN
        SELECT * FROM Test2020 WHERE A=@A
    END
    
    GO

    5.新增和修改函数

    IF (SELECT OBJECT_ID('[fn_Test2020]')) IS NOT NULL 
        DROP FUNCTION [fn_Test2020]
    GO
    /*
    创建人:chenze
    创建时间: 2020-05-01
    说明:  获取测试信息列表
    修改人:hjp
    修改时间:2020-05-15
    修改说明:增加...操作
    */
    CREATE  FUNCTION [fn_Test2020] (@a INT )
        RETURNS VARCHAR(10)
    AS 
    BEGIN 
        RETURN CASE @a
        WHEN 0 THEN '00000000'
        WHEN 1 THEN '11111111'
        END
    END
    GO

    执行存储过程

    DECLARE    @return_value int
    EXEC    @return_value = [dbo].[uspTest2020]
            @A = 'D196177C-F25E-49BB-A4ED-1AC55E8553D4'
    SELECT    'Return Value' = @return_value

     执行函数

     select dbo.[fn_Test2020](0)
    作者:chenze
    出处:https://www.cnblogs.com/chenze-Index/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    概率图模型课堂笔记:2.4 取样方法
    概率图模型课堂笔记:2.2 置信度传播
    2018秋季学期学习总结
    人生路上影响最大的三位老师
    抓老鼠啊~亏了还是赚了?
    币值转换
    自我介绍
    打印沙漏
    2019春第七周作业
    第六周编程总结
  • 原文地址:https://www.cnblogs.com/chenze-Index/p/12893358.html
Copyright © 2011-2022 走看看