标签: ssms

在SSMS 2008中更改对象资源管理器窗口的位置

对象资源管理器窗口在SQL Server Management Studio 2008中跨屏幕移动.

如何在SSMS 2008中的左侧显示对象资源管理器窗口?

ssms

0
推荐指数
2
解决办法
8052
查看次数

SQL选择布尔选项

对于模糊的标题感到抱歉,但我不确定如何解释我想要在句子中做什么.

序言:用于选择布尔列的SQL语法如下:

SELECT MyBooleanColumn FROM MyTableThatHasABooleanColumn
Run Code Online (Sandbox Code Playgroud)

这会产生以下结果:

MyBooleanColumn
===============
       1
       1
       1
       0
       1
      ...
Run Code Online (Sandbox Code Playgroud)

问题:有没有办法获得以下结果?

MyBooleanColumn
===============
     True
     True
     True
     False
     True
      ...
Run Code Online (Sandbox Code Playgroud)

sql t-sql formatting ssms boolean

0
推荐指数
1
解决办法
851
查看次数

SQL Server 2012 SSMS与SQL Server 2008 R2数据库引擎

我使用SQL Server 2008 R2作为数据库引擎.通过我的MSDN订阅,我可以使用SQL Server 2012进行开发.由于我注意到2012 SSMS中有一些很酷的东西,我的问题是,如果我只使用2012 SSMS并将2008 R2保留为数据库引擎,那么脚本的生成或任何其他效果会有什么不同吗?

谢谢.

更新1:哦,是的,我看到了这个页面:SQL Server数据库引擎向后兼容性,但它并不完全是我想要的.

sql-server ssms sql-server-2008-r2 sql-server-2012

0
推荐指数
1
解决办法
1678
查看次数

如何在SQL Server Management Studio中设置1到0 ... 1的关系

我有桌子:

Users{UserId ...}
Professors{UserId ...}
Run Code Online (Sandbox Code Playgroud)

UserId在两个表中都设置为PK并且建立了1:1的关系.

但是,如果我尝试插入新用户,它不起作用,因为它也需要在Professor表中插入.

我想让一个用户在教授表中只能有1条记录,但我也想让它不必存在于教授表中(我不想让所有用户教授:)).

如何在SQL Server Management Studio中设置1到(0 ... 1)的关系?

我知道set强制关键约束NO不是解决方案:)

sql database database-design ssms relational-database

0
推荐指数
1
解决办法
7489
查看次数

MS SQL - 执行简单连接

我正在从头开始学习MS SQL,我正在尝试在我的表上创建一个连接但是我的查询有问题:

SELECT * FROM Users.[User] JOIN Users.[User] as u ON (u.id = Users.[UserAddress].user);


Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'user'.
Run Code Online (Sandbox Code Playgroud)

表结构

怎么了 :)?

sql sql-server ssms

0
推荐指数
1
解决办法
61
查看次数

TSQL中变量的值为LEN

@ColumnnName在T-SQL 用户定义函数中有一个变量,它基本上包含列Name.

例如 :

declare @ColumnnName= 'firstName'
Run Code Online (Sandbox Code Playgroud)

这意味着我的表中有一个名为Column的列,firstName并且此列名存储在名为的变量中@ColumnnName.

我有这样的查询:

Insert into @Temp([Row], VarLength) select  Rowid, LEN(@ColumnnName) from Patients
 where 
/ 
*rest of code 
*/
Run Code Online (Sandbox Code Playgroud)

在上面的查询中,LEN(@ColumnnName)将返回9firstName的长度而不是firstName列中包含的值.

如何获取包含firstName列的值的长度,而不是字符串firstName本身的长度.

编辑:

完整查询是这样的:

Insert into @Temp([Row], Counts, VarLength) select  Rowid, @counter, LEN(@ColumnnName) from Patients where 
(case when @ColumnnName = 'firstname' then firstname 
            when @ColumnnName = 'middlename' then middlename 
            when @ColumnnName = 'lastname' then lastname 
            when @ColumnnName = 'State' then [State] 
            when @ColumnnName = 'City' …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server ssms

0
推荐指数
1
解决办法
184
查看次数

T-SQL在存储的代码和查询窗格中的相同代码之间产生不同的结果

我正在处理一个应返回ao或1的过程,具体取决于参数计算的结果(用于询问数据库中2个表的参数).

当我在查询窗格中执行该代码时,它会为我提供我期望的结果.代码看起来像:

SELECT TOP 1 state, updDate INTO #history
FROM [xxx].[dbo].[ImportHystory]    WHERE (db = 'EB') ORDER BY addDate DESC;

IF (SELECT state FROM #history) = 'O' 
BEGIN       
        SELECT TOP 1 * INTO #process_status
        FROM yyy.dbo.process_status WHERE KeyName = 'eb-importer';

        IF(SELECT s.EndDate FROM #process_status s) IS NOT NULL
            IF (SELECT s.EndDate FROM #process_status s) > (SELECT h.updDate FROM #history h)
                BEGIN
                    IF (SELECT MessageLog from #process_status) IS NOT NULL SELECT 1;
                    ELSE SELECT 0;
                END
            ELSE 
                SELECT  1;
        ELSE
            SELECT 1; …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server ssms stored-procedures

0
推荐指数
1
解决办法
97
查看次数

C#在标签中显示返回参数为十进制

我使用返回的参数来显示bin的重量.

这是我的SQL Server存储过程;

ALTER PROCEDURE [dbo].[SumScrapBinWeight]
    @ScrapBinNumber INT,
    @ScrapBinWeightSUM DECIMAL(8,2) OUTPUT
AS 
BEGIN
    SELECT @ScrapBinWeightSUM = SUM(CalculatedWeightLbs) 
    FROM ScrapData 
    WHERE ScrapBinNumber = @ScrapBinNumber
END
Run Code Online (Sandbox Code Playgroud)

这在SSMS中工作并返回预期值,当我在C#应用程序中调用它时,我收到错误

施放无效

在最后一行.这让我感到困惑,如果我Decimal改为Int,它不会抛出错误,但它不会显示我想要显示的小数.

using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MfgDataCollector"].ToString()))
{
    DynamicParameters param = new DynamicParameters();
    param.Add("@ScrapBinNumber", lbl_TicketNumber.Text);
    param.Add("@ScrapBinWeightSUM", dbType: DbType.Int32, direction: ParameterDirection.Output);

    conn.Execute("SumScrapBinWeight", param, commandType: CommandType.StoredProcedure);

    lbl_BinWeight.Text = param.Get<decimal>("@ScrapBinWeightSUM").ToString();
}
Run Code Online (Sandbox Code Playgroud)

我在哪里错了?

c# sql-server ssms dapper

0
推荐指数
1
解决办法
126
查看次数

在SSMS中保留SET NOCOUNT选项等

我非常确定必须有可能通过SSMS保留SET NOCOUNT选项,这样我就不必每次都重置此设置。另请参见此处接受的答案:

防止行影响从ssms导出文件中的条目

有人知道该怎么做吗?

sql-server ssms

0
推荐指数
1
解决办法
45
查看次数

为什么SQL Server Management Studio从复制的代码中获取这些语法错误

因此,在测试某些代码时,我发现粘贴在查询窗口中的代码行为异常。以下是我从哪里获得代码的简化示例:

declare @a nvarchar(max) = '';

select @a = 'select ' + cast(n as char(1)) + ';' + char(13) + 'GO' + char(13) from nums where n = 1;

print @a

exec sp_executesql @a
Run Code Online (Sandbox Code Playgroud)

这是在SSMS的查询窗口中执行的。当然,它会出错,因为该GO分隔符在动态SQL中不起作用。

但是,只是为了确认代码本身是否正确,我将其复制到了新的查询窗口中。继续示例:

select 1;
GO

select 1
GO
Run Code Online (Sandbox Code Playgroud)

第一条语句给出语法错误,第二条语句将GO视为列别名。有趣的是,如果我只是直接在该查询窗口中键入代码,这仍然是正确的。它并没有影响其他窗口或新窗口,只是我将PRINT结果粘贴到的窗口中。

关于这一点的最后一个有趣的事实是,如果LEN()将上面的示例在“错误”查询窗口中与在可正常工作的查询中进行比较,则“错误”查询的长度为26个字符,但正常情况下为31个字符。

我发现退格所有字符似乎无济于事,但是如果我执行全选并删除操作,似乎可以解决此问题。我认为这意味着它将得到一个不可打印的字符,但是如果我执行“全选”并使用“显示所有符号”选项复制到Notepad ++中,则看不到任何注意事项。

有谁知道为什么SSMS会有这种行为?我正在使用版本17.9(如果有问题,请针对SQL Server 2014实例运行)。

sql-server ssms

0
推荐指数
1
解决办法
91
查看次数