如何在 Management Studio 中轻松查找值列表中的列?
How to find column in value list easily in Management Studio?
在 Managagement Studio 2008 R2 中 SQL 中编码时,我一直在尝试寻找一些方法来简化 editing/adding 插入子句中相应列的值。
假设以下代码:
INSERT INTO [Schema].[Table]
( [Col1],
[Col2],
[Col3],
[Col4],
[Col5],
[Col6],
[Col7],
[Col8],
[Col9],
[Col10],
[Col11],
[Col12],
[Col13],
[Col14],
[Col15],
[Col16],
[Col17],
[Col18]
)
VALUES
(
232,
0,
NULL,
NULL,
0,
NULL,
NULL,
NULL,
NULL,
NULL,
0,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
假设我要更改第 11 列中的一个值,我必须开始计数以查看哪个值对应于该列。也许在这个例子中并没有那么困难,但许多现实生活中的表都包含很多列。如果值列表中有很多 NULLS,这将变得更加困难。即使启用了行号。
有没有办法,例如在鼠标悬停在值列表中的值上时显示工具提示,以查看它属于哪一列?
在我的梦想世界中,我会右键单击“插入到”中的列名,然后选择类似 "Go to value..." 的内容。
我正在使用免费的 ApexSQL 工具,但我还没有找到可以让我这样做的功能。有没有类似的工具可以让我这样做?
提前致谢,希望我对我要实现的目标不要太含糊。
我不知道有什么工具可以做到这一点,但是当我 运行 解决这个问题时,我通常只是在代码中添加注释,例如:
VALUES
(
232, --Col1
0, --Col2
NULL, --Col3
NULL, --Col4
--etc.
)
我还没有看到这样的选项。
虽然它需要更多的输入,但我更喜欢 SELECT 而不是 VALUES,因为我可以为输入设置别名,从而节省以后的时间。还可以预览 SELECT 语句(只需突出显示该部分并按 F5 - 非常方便)。
或者,您可以在 SSMS 中打开行号并计算正确的行。其实废了。听起来不是很友好,是吗?
INSERT INTO Schema.Table
(
Col1,
Col2,
Col3,
Col4,
Col5
)
SELECT
1 AS Col1,
0 AS Col2,
NULL AS Col3,
1 AS Col4,
NULL AS Col5
;
您可以使用 block selection
和 INSERT SELECT
来插入一个值:
INSERT INTO [Schema].[Table](
[Col1]
,[Col2]
,[Col3]
,[Col4]
,[Col5]
,[Col6]
,[Col7]
,[Col8]
,[Col9]
,[Col10]
,[Col11]
,[Col12]
,[Col13]
,[Col14]
,[Col15]
,[Col16]
,[Col17]
,[Col18]
)
SELECT
[Col1] = 232
,[Col2] = 0
,[Col3] = NULL
,[Col4] = NULL
,[Col5] = 0
,[Col6] = NULL
,[Col7] = NULL
,[Col8] = NULL
,[Col9] = NULL
,[Col10] = NULL
,[Col11] = NULL
,[Col12] = 0
,[Col13] = NULL
,[Col14] = NULL
,[Col15] = NULL
,[Col16] = NULL
,[Col17] = NULL
,[Col18] = NULL
关键是像 ,[Column_Name]
这样格式化列,然后使用块选择将它们全部复制。在那之后,另一个块选择并一次键入多个 = NULL
。最后填写所需的值。
块选择示例来自:https://www.mssqltips.com/tipimages2/2786_ssms_shift_alt_select.png
如果您重组查询以使用 insert . . . select
:
,这可能会更容易
INSERT INTO [Schema].[Table]([Col1], [Col2], [Col3], [Col4], [Col5], [Col6],
[Col7], [Col8], [Col9], [Col10], [Col11], [Col12],
[Col13], [Col14], [Col15], [Col16], [Col17], [Col18]
)
SELECT 232 as col1,
0 as col2,
NULL as col3,
NULL as col4,
0 as col5,
NULL as col6,
. . .;
在 Managagement Studio 2008 R2 中 SQL 中编码时,我一直在尝试寻找一些方法来简化 editing/adding 插入子句中相应列的值。
假设以下代码:
INSERT INTO [Schema].[Table]
( [Col1],
[Col2],
[Col3],
[Col4],
[Col5],
[Col6],
[Col7],
[Col8],
[Col9],
[Col10],
[Col11],
[Col12],
[Col13],
[Col14],
[Col15],
[Col16],
[Col17],
[Col18]
)
VALUES
(
232,
0,
NULL,
NULL,
0,
NULL,
NULL,
NULL,
NULL,
NULL,
0,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
假设我要更改第 11 列中的一个值,我必须开始计数以查看哪个值对应于该列。也许在这个例子中并没有那么困难,但许多现实生活中的表都包含很多列。如果值列表中有很多 NULLS,这将变得更加困难。即使启用了行号。
有没有办法,例如在鼠标悬停在值列表中的值上时显示工具提示,以查看它属于哪一列?
在我的梦想世界中,我会右键单击“插入到”中的列名,然后选择类似 "Go to value..." 的内容。
我正在使用免费的 ApexSQL 工具,但我还没有找到可以让我这样做的功能。有没有类似的工具可以让我这样做?
提前致谢,希望我对我要实现的目标不要太含糊。
我不知道有什么工具可以做到这一点,但是当我 运行 解决这个问题时,我通常只是在代码中添加注释,例如:
VALUES
(
232, --Col1
0, --Col2
NULL, --Col3
NULL, --Col4
--etc.
)
我还没有看到这样的选项。
虽然它需要更多的输入,但我更喜欢 SELECT 而不是 VALUES,因为我可以为输入设置别名,从而节省以后的时间。还可以预览 SELECT 语句(只需突出显示该部分并按 F5 - 非常方便)。
或者,您可以在 SSMS 中打开行号并计算正确的行。其实废了。听起来不是很友好,是吗?
INSERT INTO Schema.Table
(
Col1,
Col2,
Col3,
Col4,
Col5
)
SELECT
1 AS Col1,
0 AS Col2,
NULL AS Col3,
1 AS Col4,
NULL AS Col5
;
您可以使用 block selection
和 INSERT SELECT
来插入一个值:
INSERT INTO [Schema].[Table](
[Col1]
,[Col2]
,[Col3]
,[Col4]
,[Col5]
,[Col6]
,[Col7]
,[Col8]
,[Col9]
,[Col10]
,[Col11]
,[Col12]
,[Col13]
,[Col14]
,[Col15]
,[Col16]
,[Col17]
,[Col18]
)
SELECT
[Col1] = 232
,[Col2] = 0
,[Col3] = NULL
,[Col4] = NULL
,[Col5] = 0
,[Col6] = NULL
,[Col7] = NULL
,[Col8] = NULL
,[Col9] = NULL
,[Col10] = NULL
,[Col11] = NULL
,[Col12] = 0
,[Col13] = NULL
,[Col14] = NULL
,[Col15] = NULL
,[Col16] = NULL
,[Col17] = NULL
,[Col18] = NULL
关键是像 ,[Column_Name]
这样格式化列,然后使用块选择将它们全部复制。在那之后,另一个块选择并一次键入多个 = NULL
。最后填写所需的值。
块选择示例来自:https://www.mssqltips.com/tipimages2/2786_ssms_shift_alt_select.png
如果您重组查询以使用 insert . . . select
:
INSERT INTO [Schema].[Table]([Col1], [Col2], [Col3], [Col4], [Col5], [Col6],
[Col7], [Col8], [Col9], [Col10], [Col11], [Col12],
[Col13], [Col14], [Col15], [Col16], [Col17], [Col18]
)
SELECT 232 as col1,
0 as col2,
NULL as col3,
NULL as col4,
0 as col5,
NULL as col6,
. . .;