我最好的谷歌结果是这样的:
但是,从BOL,"任何用户都可以指定从0到18的严重级别".
在我的特定存储过程中,我希望将错误返回到.Net客户端应用程序,因此看起来11-18之间的任何严重性级别都可以解决问题.有没有人有关于每个级别的含义以及如何使用它们的任何权威信息?
我试图在postgresql上写下面的查询:
select name, author_id, count(1),
(select count(1)
from names as n2
where n2.id = n1.id
and t2.author_id = t1.author_id
)
from names as n1
group by name, author_id
Run Code Online (Sandbox Code Playgroud)
这肯定适用于Microsoft SQL Server,但它在postegresql上完全不起作用.我稍微阅读了它的文档,似乎我可以将其重写为:
select name, author_id, count(1), total
from names as n1, (select count(1) as total
from names as n2
where n2.id = n1.id
and n2.author_id = t1.author_id
) as total
group by name, author_id
Run Code Online (Sandbox Code Playgroud)
但是这会在postegresql上返回以下错误:"FROM中的子查询不能引用相同查询级别的其他关系".所以我被卡住了.有谁知道我怎么能做到这一点?
谢谢
我有两个数据库,一个保存库存,另一个包含主数据库记录的子集.
以下SQL语句不起作用:
SELECT stock.IdStock
,stock.Descr
FROM [Inventory].[dbo].[Stock] stock
WHERE stock.IdStock NOT IN
(SELECT foreignStockId FROM
[Subset].[dbo].[Products])
Run Code Online (Sandbox Code Playgroud)
不是不起作用.删除NOT会得到正确的结果,即两个数据库中的产品.但是,使用NOT IN并不会返回任何结果.
我做错了什么,有什么想法吗?
我最近在新的Windows 7安装上安装了Microsoft SQL Server 2012,但每当我想运行服务器时,我都会收到以下错误:
错误1069:由于登录失败,服务未启动.
以下用户配置为启动服务: NT Service\MSSQL$SQLEXPRESS
我该如何解决这个问题?
我想获取数据库中每个表的表数据和索引空间:
Table Name Data Space Index Space
-------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我怎样才能达到这个效果?
在SQL Server中为用户分配db_datareader和db_datawriter角色的确切SQL是什么?
用户名是MYUSER和数据库MYDB.
我有一个存储过程有一堆输入和输出参数,因为它是将值插入多个表.在某些情况下,存储过程仅插入到单个表中(取决于输入参数).这是一个模拟的场景来说明.
表/数据对象:
人
Id
Name
Address
Run Code Online (Sandbox Code Playgroud)
名称
Id
FirstName
LastName
Run Code Online (Sandbox Code Playgroud)
地址
Id
Country
City
Run Code Online (Sandbox Code Playgroud)
假设我有一个插入人的存储过程.如果地址不存在,我将不会将其添加到Address数据库中的表.
因此,当我生成调用存储过程的代码时,我不想打扰添加Address参数.对于INPUT参数,这是可以的,因为SQL Server允许我提供默认值.但是对于OUTPUT参数我在存储过程中做什么使它成为可选的,所以我没有收到错误...
过程或函数'Person_InsertPerson'需要参数'@AddressId',这是未提供的.
在创建视图后,以下代码中发生了什么?你能给我任何想法或路径吗?
此代码取自此处.
/****** Object: View [dbo].[vProductImages] Script Date: 04/28/2008 16:59:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[vProductImages]
AS
SELECT dbo.Products_Images.ProductID, dbo.Images.ThumbUrl, dbo.Images.FullImageUrl
FROM dbo.Products_Images INNER JOIN
dbo.Images ON dbo.Products_Images.ImageID = dbo.Images.ImageID
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写以下内容,以便获得不同的NumUsers,如下所示:
NumUsers = COUNT(DISTINCT [UserAccountKey]) OVER (PARTITION BY [Mth])
Run Code Online (Sandbox Code Playgroud)
管理工作室对此并不感到高兴.当我删除DISTINCT关键字时,错误消失,但它不会是一个独特的计数.
DISTINCT在分区函数中似乎不可能.我如何寻找独特的计数?我是否使用更传统的方法,例如相关子查询?
进一步研究一下,也许这些OVER函数与Oracle的工作方式不同,它们不能用于SQL-Server计算运行总计.
我在SQLfiddle上添加了一个实例,我尝试使用分区函数来计算运行总计.
我有一个Asp.Net MVC 5网站,在共享主机方案中使用EntityFramework codefirst方法.它使用开源WebbsitePanel作为控制面板,其SQL Server面板有些限制.今天当我想编辑数据库时,我遇到了这个错误:
The transaction log for database 'db_name' is full due to 'LOG_BACKUP'
Run Code Online (Sandbox Code Playgroud)
我四处搜索,发现了很多相关的答案,比如这个或这个或者这个问题,但问题是他们建议在数据库上运行查询.我试过跑步
db.Database.ExecuteSqlCommand("ALTER DATABASE db_name SET RECOVERY SIMPLE;");
Run Code Online (Sandbox Code Playgroud)
使用visual studio(在HomeController)上但是我收到以下错误:
System.Data.SqlClient.SqlException: ALTER DATABASE statement not allowed within multi-statement transaction.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决我的问题?我应该联系支持团队(这对我的主人来说有点差)还是我可以自己解决?
sql-server ×10
sql ×4
t-sql ×3
asp.net ×1
asp.net-mvc ×1
data-access ×1
database ×1
indexing ×1
installation ×1
permissions ×1
postgresql ×1
raiserror ×1
subquery ×1