如何在Visual Studio中的动态SQL中为SQL Server项目使用数据库变量名?

是的这是瑞克

在Visual Studio中,有没有一种方法可以为SQL Server项目在动态SQL中使用数据库变量名还是有替代解决方案?

我有一个SQL Server数据库项目,该项目引用了其他数据库项目,每个项目都设置数据库变量名例如,数据库变量名称为,$(PROD)而我已使用此数据库变量名称来使用TEST数据库发布项目。

我当前的项目正在使用动态sql,并且我希望能够使用PROD或TEST数据库发布该项目。我宁愿不要使用@database变量,而仅仅使用SELECT @database = $(PROD)是行不通的。

例如,在下面的存储过程中QUOTENAME(@database)我具有动态SQL ,并且,我希望能够在发布项目时替换@database变量并使用$(PROD)或某种方式设置数据库名称。

DECLARE 
  @sql NVARCHAR(MAX),
  @database SYSNAME,
  @schema SYSNAME,
  @table SYSNAME;
CREATE TABLE #src_pk(SrcColumn VARCHAR(100));

SELECT @sql = N'SELECT QUOTENAME(b.[COLUMN_NAME]) AS [Column] 
                  FROM ' + QUOTENAME(@database) + N'.[INFORMATION_SCHEMA].[TABLE_CONSTRAINTS] a 
                  JOIN ' + QUOTENAME(@database) + N'.[INFORMATION_SCHEMA].[CONSTRAINT_COLUMN_USAGE] b 
                    ON a.[CONSTRAINT_NAME] = b.[CONSTRAINT_NAME] 
                 WHERE a.[CONSTRAINT_SCHEMA] = ' + QUOTENAME(@schema, '''') + N'
                   AND a.[TABLE_NAME] = ' + QUOTENAME(@table, '''') + N'
                   AND a.[CONSTRAINT_TYPE] = ''PRIMARY KEY'' '
INSERT INTO #src_pk EXEC sys.sp_executesql @sql;

我正在使用Visual Studio 2019; 项目语言为SQL;我的项目平台是SQL Server 2017。

皮特

您可以直接在动态SQL中使用项目部署变量,只需确保正确引用它即可:

SELECT @sql = N'SELECT QUOTENAME(b.[COLUMN_NAME]) AS [Column] 
                  FROM ' + QUOTENAME('$(DatabaseName)') + N'.[INFORMATION_SCHEMA].[TABLE_CONSTRAINTS] a 
                  JOIN ' + QUOTENAME('$(DatabaseName)') + N'.[INFORMATION_SCHEMA].[CONSTRAINT_COLUMN_USAGE] b 
                    ON a.[CONSTRAINT_NAME] = b.[CONSTRAINT_NAME] 
                 WHERE a.[CONSTRAINT_SCHEMA] = ' + QUOTENAME(@schema, '''') + N'
                   AND a.[TABLE_NAME] = ' + QUOTENAME(@table, '''') + N'
                   AND a.[CONSTRAINT_TYPE] = ''PRIMARY KEY'' '

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Visual Studio 2015中为SQL Server创建数据库图?

来自分类Dev

如何在Visual Studio 2013中创建SQL Server数据库项目?

来自分类Dev

如果已将部署的数据库从其他来源更改,如何在Visual Studio 2013中更新SQL Server项目?

来自分类Dev

如何使用python脚本在SQL Server数据库中动态插入变量的值

来自分类Dev

如何在Visual Studio中记录数据库项目

来自分类Dev

如何在SQL Server中动态使用数据库名称

来自分类Dev

如何在Visual Studio-2010中的运行时刷新SQL Server数据库表?

来自分类Dev

“需要迁移”对于Visual Studio 2012中的SQL Server数据库项目意味着什么

来自分类Dev

Visual Studio 2015中针对SQL Server 2016的数据库项目

来自分类Dev

如何在 Visual Studio (C#) 中将 ASP.NET 项目与 SQL Server 数据库表连接

来自分类Dev

如何在Visual Studio 2010中使用数据目录创建安装文件期间附加SQL Server数据库文件(.mdf)

来自分类Dev

如何使用变量中的数据填充sql数据库?

来自分类Dev

如何使SQL数据库用户和角色进入Visual Studio中的MVC EF项目?

来自分类Dev

如何在Visual Studio中连接Oracle数据库

来自分类Dev

如何使用SQL Server 2008数据库为我的Visual Basic项目创建安装程序?

来自分类Dev

如何在VS 2015中发布Visual Studio数据库项目

来自分类Dev

如何在 wordpress 中更改 wp-config.php 中的数据库变量名称?

来自分类Dev

如何在SQL Server 2008 R2数据库中存储处方(诊所项目)

来自分类Dev

如何使用Visual Studio 2013连接到asp.net中的本地SQL Server数据库?

来自分类Dev

如何在SQL中的for循环内创建动态变量名

来自分类Dev

如何将中断视图添加到Visual Studio SQL Server数据库项目

来自分类Dev

如何在PHP中使用存储在数据库中的SQL查询中的变量

来自分类Dev

如何在Presto中为SQL Server目录指定数据库?

来自分类Dev

如何在Visual Studio的Sql Server数据工具编辑器中更改连接

来自分类Dev

在动态 SQL 中为数据库邮件声明变量

来自分类Dev

如何使用SQL Server中的隐藏数据库对象?

来自分类Dev

如何在SQL Server Management Studio中关闭与本地数据库的所有连接?

来自分类Dev

如何在SQL Server Management Studio中关闭与本地数据库的所有连接?

来自分类Dev

如何在SQL Server Management Studio中删除数据库的内容?

Related 相关文章

  1. 1

    如何在Visual Studio 2015中为SQL Server创建数据库图?

  2. 2

    如何在Visual Studio 2013中创建SQL Server数据库项目?

  3. 3

    如果已将部署的数据库从其他来源更改,如何在Visual Studio 2013中更新SQL Server项目?

  4. 4

    如何使用python脚本在SQL Server数据库中动态插入变量的值

  5. 5

    如何在Visual Studio中记录数据库项目

  6. 6

    如何在SQL Server中动态使用数据库名称

  7. 7

    如何在Visual Studio-2010中的运行时刷新SQL Server数据库表?

  8. 8

    “需要迁移”对于Visual Studio 2012中的SQL Server数据库项目意味着什么

  9. 9

    Visual Studio 2015中针对SQL Server 2016的数据库项目

  10. 10

    如何在 Visual Studio (C#) 中将 ASP.NET 项目与 SQL Server 数据库表连接

  11. 11

    如何在Visual Studio 2010中使用数据目录创建安装文件期间附加SQL Server数据库文件(.mdf)

  12. 12

    如何使用变量中的数据填充sql数据库?

  13. 13

    如何使SQL数据库用户和角色进入Visual Studio中的MVC EF项目?

  14. 14

    如何在Visual Studio中连接Oracle数据库

  15. 15

    如何使用SQL Server 2008数据库为我的Visual Basic项目创建安装程序?

  16. 16

    如何在VS 2015中发布Visual Studio数据库项目

  17. 17

    如何在 wordpress 中更改 wp-config.php 中的数据库变量名称?

  18. 18

    如何在SQL Server 2008 R2数据库中存储处方(诊所项目)

  19. 19

    如何使用Visual Studio 2013连接到asp.net中的本地SQL Server数据库?

  20. 20

    如何在SQL中的for循环内创建动态变量名

  21. 21

    如何将中断视图添加到Visual Studio SQL Server数据库项目

  22. 22

    如何在PHP中使用存储在数据库中的SQL查询中的变量

  23. 23

    如何在Presto中为SQL Server目录指定数据库?

  24. 24

    如何在Visual Studio的Sql Server数据工具编辑器中更改连接

  25. 25

    在动态 SQL 中为数据库邮件声明变量

  26. 26

    如何使用SQL Server中的隐藏数据库对象?

  27. 27

    如何在SQL Server Management Studio中关闭与本地数据库的所有连接?

  28. 28

    如何在SQL Server Management Studio中关闭与本地数据库的所有连接?

  29. 29

    如何在SQL Server Management Studio中删除数据库的内容?

热门标签

归档