数据库
简单的问题是,如何将 MS Query 中的字段值加 1?我正在尝试使用参数化方法将 1 (+1) 添加到我的 SQL Server 数据库中的 int 列.类似于对变量的 i++ 操作.我正在使用以下方法: public static int UpdateFieldCount(int parameterId){//保存更新行数或查询成功的变量int 更新成功 = 0;//建立你的连接字符串st
..
在 T-SQL 中,如何检查一个字符串是否不包含另一个字符串? 我有一个 nvarchar 可以是“Oranges Apples". 我想做一个更新,例如,列不包含“Apples". 如何做到这一点? 解决方案 WHERE NOT (someColumn LIKE '%Apples%')
..
我想这样做: 声明@a int;声明@b int;SET @a,@b = (SELECT StartNum,EndNum FROM Users Where UserId = '1223')打印@a打印@b 但这是无效的语法.如何在一个 select 语句中设置多个标量变量?我可以: 声明@a int;声明@b int;SET @a = (SELECT StartNum FROM Users
..
是否可以列出有关 SQL Server 上所有数据库的文件 (MDF/LDF) 的信息? 我想得到一个列表,显示哪个数据库正在使用本地磁盘上的哪些文件. 我尝试了什么: exec sp_databases 所有数据库 select * from sys.databases 显示了关于每个数据库的大量信息 - 但不幸的是它没有显示每个数据库使用的文件. select * fro
..
我有以下结构的表格: UserID StartedOn EndedOn1 2009-7-12T14:01 2009-7-12T15:012 2009-7-12T14:30 2009-7-12T14:453 2009-7-12T14:47 2009-7-12T15:304 2009-7-12T13:01 2009-7-12T17:015 2009-7-12T14:15 2009-7-12T18:0
..
我正在通过链接服务器从 VIEWS 中提取大量数据.我使用的是 SQL Server 2012,链接服务器是 SQL Server 2008 我的选择语句是 SELECT * INTO MY_LOCAL_TABLE从( SELECT * FROM LINKEDSERVER.DB.TABLE.VIEWWHERE DATE>'2012-01-01' AND ID IN (SELECT ID F
..
我需要使用其键 ModelID 从 Models 表中选择一个特定的模型.我还需要从 Model_Content 表中添加一个内容简介.但是,Models_Content 表中的每个模型都有几个内容简介.我只需要选择第一个简介. 我的表格如下所示: 模型//表型号ID//pk模型//varcharModels_Content//表内容ID//pk模型ID//fk内容//varchar选择
..
有没有办法让 TSQL 变量保持不变? 解决方案 不,但您可以创建一个函数并将其硬编码在其中并使用它. 这是一个例子: 创建函数 fnConstant()退货积分作为开始返回 2结尾走选择 dbo.fnConstant()
..
每当我在 SQL Server 中恢复我的数据库备份时,都会出现以下错误: 消息 3101,级别 16,状态 1,第 1 行无法获得独占访问权限,因为数据库正在使用中.消息 3013,级别 16,状态 1,第 1 行RESTORE DATABASE 异常终止. 通常为了解决这个问题,我只是重新启动服务器.当我们在我们的开发机器上的本地实例上进行开发时,这很好.但是我们有一些程序员需要访问数据库
..
是否可以在 CTE 中编写 CTE? 我希望它遵循这个逻辑,但解释器不喜欢这段代码. 与外部测试 as(测试为(选择编号,游戏编号,开始分发,申请编号来自#main其中 startofdistribution = '2011-06-14 00:00:00.000'和 SRnum = '313'-- 按 SRnum、gamenumber、StartOfDistribution、Applic
..
可能的重复: 将行插入到只有一个 IDENTITY 列的表中 我有一个只有一列的 SQL 表.列是一个自动增量字段,如: Id INT IDENTITY 我需要在这个表中插入一行(这是一个临时的大容量/虚拟表): INSERT INTO my_table VALUES () 但是我遇到了语法错误. 我该怎么做? 解决方案 INSERT INTO my_table DE
..
我有一张表EmpDetails: DeptID EmpName Salary英格山姆 1000恩格史密斯 2000人力资源丹尼斯 1500人力资源丹尼 3000IT 大卫 2000IT约翰3000 我需要查询每个部门的最高工资. 解决方案 SELECT DeptID, MAX(Salary) FROM EmpDetails GROUP BY DeptID 上述查询是公认的答案,但
..
在创建存储过程、视图、函数等时,对对象执行 DROP...CREATE 还是 ALTER 更好? 我已经看到许多“标准"文档声明要执行 DROP...CREATE,但我已经看到了许多支持 ALTER 方法的评论和论点. ALTER 方法保留了安全性,而我听说 DROP...CREATE 方法会在第一次执行时强制对整个 SP 进行重新编译,而不仅仅是语句级别的重新编译. 有人可以告
..
SELECT TOP 5 WITH TIES EmpNumber,EmpName来自员工按员工编号排序 DESC 以上查询返回超过五个结果,“With Ties"关键字SQL查询有什么用处. 解决方案 来自 TOP (Transact-SQL) 当你想返回与最后一个位置并列的两行或更多行时使用在有限的结果集中. 注意例子 SQL Fiddle DEMO 我们有一张
..
我试图在不丢失内容的情况下将 varchar 列的长度从 255 个字符更新为 500 个字符.我之前删除并重新创建了表,但我从未接触过 alter 语句,我相信我需要使用它来执行此操作.我在这里找到了文档:ALTER TABLE (Transfact-SQL) 但是我不能让它正面或反面. 到目前为止,我有以下内容(不幸的是,基本上没有): alter table [progennet_d
..
以下查询不更新日期时间字段: 更新表SET 结束日期 = '2009-05-25'Id = 1 我也试过没有破折号,但这也不起作用. 解决方案 如有疑问,明确说明使用 CAST/CONVERT 的数据类型转换: 更新表SET EndDate = CAST('2009-05-25' AS DATETIME)Id = 1
..
实现以下查询的替代方法有哪些: 选择 *从表哪里 isExternal = @type = 2 ?1 : 0 解决方案 使用case: 选择 *从表其中 isExternal = case @type when 2 then 1 else 0 end
..
这是我的场景: 假设我有一个存储过程,我需要在其中对一组特定的 id 调用另一个存储过程;有没有办法做到这一点? 即而不是需要这样做: exec p_MyInnerProcedure 4执行 p_MyInnerProcedure 7执行 p_MyInnerProcedure 12执行 p_MyInnerProcedure 22执行 p_MyInnerProcedure 19 做这样
..
我有一个 SQL 查询,用于查询我不需要也不想理解的庞大(例如,数百个视图/表的名称难以阅读,如 CMM-CPP-FAP-ADD)数据库.此查询的结果需要存储在临时表中以提供报告. 我需要创建临时表,但要挖掘数百个视图/表以找到此处表示的数据类型,我想知道是否有更好的方法来构建此表. 谁能建议我如何使用任何 SQL Server 2008 工具来确定 SQL 2000 数据库中的源数据
..
目前我们为脚本文件中的每个存储过程使用单独的 drop 语句: IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MySP]')并输入 (N'P', N'PC'))删除程序 [dbo].[MySP] 有没有办法一次性删除它们,或者循环删除它们? 解决方案 Something like (F
..