问题标签 [tsql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - Transact-SQL - 子查询还是左连接?
我有两个包含任务和注释的表,并且想要检索任务列表以及每个任务的关联注释数。这两个查询完成了这项工作:
它们之间有区别吗?我应该使用另一种,还是它们只是做同一工作的两种方式?谢谢。
sql-server-2005 - SQL Server 2005 / XML 存储过程 - Unicode 到 ascii?(异常 0xc00ce508)
我这里有一个 MSSQL2005 存储过程,它应该将 XML 消息作为输入,并将其内容存储到表中。表字段是 varchars,因为我们的 delphi 后端应用程序无法处理 unicode。现在,传入的消息采用 ISO-8859-1 编码。一切都很好,直到超过 128 个标准集的字符被包括在内(在这种情况下,ÄÖäö,它是芬兰语的一个组成部分)。这会导致数据库服务器引发异常 0xc00ce508。数据库的默认值以及表和字段的排序规则设置为 latin1,这应该与 ISO-8859-1 相同。
使用 XML 子系统解析 XML 消息,如下所示:
以前,存储过程使用 nvarchar 进行输入,但由于这会导致古老的后端应用程序(Delphi 5 + ODBC)出现问题,我们不得不将字段切换为 varchars,此时一切都崩溃了。
我还尝试在开始时将 nvarchar 转换为 varchar,但结果是一样的。
sql - 如何在 SQL Server 中对包含数字的 VARCHAR 列进行排序?
我VARCHAR
在SQL Server 2000
数据库中有一个可以包含字母或数字的列。这取决于如何在前端为客户配置应用程序。
当它确实包含数字时,我希望它按数字排序,例如“1”、“2”、“10”而不是“1”、“10”、“2”。仅包含字母或字母和数字(例如“A1”)的字段可以按字母顺序正常排序。例如,这将是可接受的排序顺序。
实现这一目标的最佳方法是什么?
sql-server - 在指定位置使用 T SQL 创建数据库
如何在指定位置使用 T SQL 脚本创建数据库?假设,我想在D:\temp\dbFolder
. 这该怎么做?
sql - 为什么即使不应该执行 T-SQL 块也会给出错误?
我正在编写一个(看似)直截了当的 SQL 片段,它在确保列存在后删除一列。
问题:如果该列不存在,IF 子句中的代码会抱怨它找不到该列!嗯,doh,这就是为什么它在 IF 子句中!
所以我的问题是,为什么一段不应该执行的代码会出错?
这是片段:
...这是错误:
Error executing SQL script [...]. Invalid column name 'timeout'
我正在使用 Microsoft SQL Server 2005 Express Edition。
sql-server - SQL Server 的隐藏特性
SQL Server有哪些隐藏的功能?
例如,未记录的系统存储过程,做一些非常有用但记录不足的事情的技巧?
答案
感谢大家的所有伟大的答案!
存储过程
- sp_msforeachtable:运行带有“?”的命令 替换为每个表名(v6.5 及更高版本)
- sp_msforeachdb:运行带有“?”的命令 替换为每个数据库名称(v7 及更高版本)
- sp_who2:与 sp_who 类似,但有更多信息用于块故障排除(v7 及更高版本)
- sp_helptext:如果要存储过程的代码,查看&UDF
- sp_tables:返回范围内数据库的所有表和视图的列表。
- sp_stored_procedures:返回所有存储过程的列表
- xp_sscanf:将字符串中的数据读取到每个格式参数指定的参数位置。
- xp_fixeddrives: : 找到可用空间最大的固定驱动器
- sp_help:如果你想知道一个表的表结构、索引和约束。还有视图和 UDF。快捷键是 Alt+F1
片段
- 以随机顺序返回行
- 按上次修改日期的所有数据库用户对象
- 仅返回日期
- 查找日期在当前周内某处的记录。
- 查找上周发生日期的记录。
- 返回当前周开始的日期。
- 返回上周开始的日期。
- 查看已部署到服务器的过程的文本
- 删除与数据库的所有连接
- 表校验和
- 行校验和
- 删除数据库中的所有过程
- 恢复后正确重新映射登录 ID
- 从 INSERT 语句调用存储过程
- 按关键字查找程序
- 删除数据库中的所有过程
- 以编程方式查询数据库的事务日志。
功能
- 哈希字节()
- 密钥加密
- PIVOT 命令
杂项
- 连接字符串附加功能
- TableDiff.exe
- 登录事件触发器(Service Pack 2 中的新增功能)
- 使用持久计算列 (pcc) 提高性能。
- sys.database_principles 中的 DEFAULT_SCHEMA 设置
- 强制参数化
- Vardecimal 存储格式
- 在几秒钟内找出最受欢迎的查询
- 可扩展的共享数据库
- SQL Management Studio 中的表/存储过程过滤器功能
- 跟踪标志
- a
GO
重复批次后的编号 - 使用模式的安全性
- 使用带有触发器的内置加密函数、视图和基表进行加密
sql - 如何在一列中返回多个值(T-SQL)?
我有一个表UserAliases
(UserId, Alias
),每个用户有多个别名。我需要查询它并返回给定用户的所有别名,诀窍是将它们全部返回在一列中。
例子:
我想要以下格式的查询结果:
谢谢你。
我正在使用 SQL Server 2005。
ps 实际的 T-SQL 查询将不胜感激:)
sql-server - SQL Server 2005:T-SQL 临时禁用触发器
是否可以禁用一批命令的触发器,然后在批处理完成时启用它?
我确信我可以放下触发器并重新添加它,但我想知道是否还有其他方法。
sql - 如何在 T-SQL 中执行相当于“SHOW TABLES”的操作?
我想根据表名在我的 SQL Server 2005 Express 数据库中查找表。在MySQL
我会使用SHOW TABLES LIKE "Datasheet%"
,但在T-SQL
这会引发错误(它尝试查找SHOW
存储过程并失败)。
这可能吗?如果可以,怎么做?