美文网首页
SQLServer根据视图名称生成创建表语句

SQLServer根据视图名称生成创建表语句

作者: Q轩哥 | 来源:发表于2024-05-14 17:07 被阅读0次

select 'create table v_view_name([id] numeric(18) IDENTITY(1,1) NOT NULL,' sqls

union all

SELECT ( ', ' +

            '[' + COLUMN_NAME + '] ' +

            DATA_TYPE +

            CASE WHEN CHARACTER_MAXIMUM_LENGTH > 0 THEN '(' + CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR) + ')'

                  WHEN DATA_TYPE = 'datetime2' THEN '(6)'

                  WHEN DATA_TYPE = 'decimal' THEN '(' + CAST(NUMERIC_PRECISION AS VARCHAR) + ',' + CAST(NUMERIC_SCALE AS VARCHAR) + ')'

                  WHEN DATA_TYPE IN ('float', 'real') AND NUMERIC_PRECISION > 0 THEN '(' + CAST(NUMERIC_PRECISION AS VARCHAR) + ')'

                  WHEN DATA_TYPE = 'money' THEN '(20)'

                  WHEN DATA_TYPE = 'smallmoney' THEN '(10)'

                  WHEN DATA_TYPE IN ('bigint', 'bit', 'date', 'int', 'smalldatetime', 'smallint', 'time', 'tinyint', 'uniqueidentifier')

                    OR (DATA_TYPE = 'numeric' AND NUMERIC_PRECISION = 0 AND NUMERIC_SCALE = 0)

                  THEN ''

                  ELSE '(' + CAST(NUMERIC_PRECISION AS VARCHAR) + ')'

            END +

            CASE WHEN IS_NULLABLE = 'No' THEN ' NOT NULL' ELSE ' NULL' END +

            CASE WHEN COLUMN_DEFAULT IS NOT NULL THEN ' DEFAULT ' + COLUMN_DEFAULT

                  WHEN IS_NULLABLE = 'No' AND DATA_TYPE IN ('datetime', 'datetime2', 'smalldatetime', 'timestamp')

                    THEN ' DEFAULT GETDATE()'

                  ELSE ''

            END) sqls

FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_NAME = 'v_view_name'

union all

select ')' sqls

相关文章

  • DDL 数据库视图定义

    创建视图 根据表的查询结果创建视图 创建简单视图,由一张表的查询生成的视图 创建复杂视图,由多张表的查询或有函数时...

  • 自由导入你的增量数据-根据条件将sqlserver表批量生成IN

    文章标题: 自由导入你的增量数据-根据条件将sqlserver表批量生成INSERT语句的存储过程增强版关键字...

  • sqlserver动态表名查询

    因为表名是根据月份来创建的,所以创建视图需要利用参数作为表名进行查询 可以再加一个语句判断表是否存在

  • mysql 高级

    视图: 创建视图: create view 视图名称(v_开头) as select 语句; 查看视图: show...

  • sqlserver根据select创建表

  • sqlserver视图

    通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图。SELECT 语句引用的数据表称为视图的基表。在...

  • SQL

    结构话数据查询语句 可以创建库,创建表,创建存储过程,创建视图。 可以设置表,存储过程,视图的权限 可以查询数据,...

  • Oracle自带系统表与常用的SQL语法

    1、 Oracle的系统常用表 场景:用最多的场景如: 代码生成器开发或写SQL脚本语句创建表或索引、视图、写存储...

  • 存储过程与视图的比较--并且在mybatis中的实现过程

    两张表的联立视图查询: 创建视图的sql语句: 创建存储过程的sql语句: mybatis的mapper.xml代...

  • SQL视图

    SQL 视图(Views)视图是可视化的表。 讲解如何创建、更新和删除视图。 SQL CREATE VIEW 语句...

网友评论

      本文标题:SQLServer根据视图名称生成创建表语句

      本文链接:https://www.haomeiwen.com/subject/zegmfjtx.html