Tag: sql server

如何在SQL Server数据库中一次性删除所有存储过程?

目前我们在脚本文件中为每个存储过程使用单独的drop语句: IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MySP]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[MySP] 有没有一种方法可以将它们一次全部放下,也可以循环放置?

在SQL Server中实现多态关联的最佳方式是什么?

我有大量的实例,我需要在我的数据库中实现某种多态关联。 我总是浪费大量的时间重新思考所有的选项。 这是我能想到的3个。 我希望有一个SQL Server的最佳做法。 这是多列方法 这是没有外键的方法 这里是基本的方法

单个SQL Server语句是primefaces性的还是一致的?

在SQL Server ACID是一个语句吗? 我的意思是 给定一个单独的T-SQL语句,不包含在BEGIN TRANSACTION / COMMIT TRANSACTION ,是该语句的动作: primefaces :要么执行所有的数据修改,要么不执行它们。 一致性 :完成后,交易必须保持所有数据处于一致状态。 隔离 :并发事务所做的修改必须与其他并发事务所做的修改隔离。 耐久性 :交易完成后,其影响永久存在于系统中。 我问的原因 在现场系统中,我有一个单一的声明,似乎违反了查询的规则。 实际上,我的T-SQL语句是: –If there are any slots available, –then find the earliest unbooked transaction and mark it booked UPDATE Transactions SET Booked = 1 WHERE TransactionID = ( SELECT TOP 1 TransactionID FROM Slots INNER JOIN […]

SQL国家字符(NCHAR)数据types的真正用途是什么?

除CHAR (CHARACTER)和VARCHAR (CHARACTER VARYING) ,SQL还提供NCHAR (NATIONAL CHARACTER)和NVARCHAR (NATIONAL CHARACTER VARYING)types。 在一些数据库中,这是用于字符(非二进制)string的更好的数据types: 在SQL Server中, NCHAR以UTF-16LE存储,是唯一能够可靠地存储非ASCII字符的方法, CHAR仅为单字节代码页; 在Oracle中, NVARCHAR可以存储为UTF-16或UTF-8而不是单字节整理; 但在MySQL中, NVARCHAR是VARCHAR ,所以没有区别,任何一种types都可以使用UTF-8或任何其他sorting规则进行存储。 那么,如果有的话, NATIONAL实际上在概念上是什么意思呢? 供应商的文档只会告诉你他们自己的DBMS使用什么字符集,而不是实际的基本原理。 与此同时,SQL92标准对function的解释甚至不那么有用,只说明NATIONAL CHARACTER存储在一个实现定义的字符集中。 与存储在实现定义的字符集中的单纯的CHARACTER相反。 这可能是一个不同的实现定义的字符集。 或不。 谢谢,ANSI。 Thansi。 是否应该为所有字符(非二进制)存储目的使用NVARCHAR ? 是否有目前stream行的数据库pipe理系统,它会做一些不可取的事情,或只是不认识关键字(或N''文字)?

上次执行的特定数据库查询

我知道如何使用SSMS中的以下SQL获取上次执行的查询 – SELECT deqs.last_execution_time AS [Time], dest.text AS [Query] FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest ORDER BY deqs.last_execution_time DESC 但我想find他们的具体数据库。 我不想使用SQL事件探查器,如果我不必。 另外,我不认为SQL事件探查器将允许我查看已经运行没有分析打开的查询。 我需要从SSMS做到这一点。

如何从SSMS内执行一组.SQL文件?

我怎么能从SQL Server Management Studio中执行一组.SQL文件(每个都进行一些数据转换)? 还有什么其他的select批量执行.SQL文件?

添加一列描述

有谁知道如何通过运行脚本添加说明到SQL Server列? 我知道在使用SQL Server Management Studio创build列时可以添加说明。 我如何编写脚本,以便当我的SQL脚本创build列时,列的描述也被添加?

在SQL Server中更改用户定义的表types

如何在SQL Server中更改用户定义的表types?

SQL里面的正则expression式replace函数?

SELECT REPLACE('<strong>100</strong><b>.00 GB', '%^(^-?\d*\.{0,1}\d+$)%', ''); 我想用上面的正则expression式replace数字的两个部分之间的任何标记,但似乎没有工作。 我不确定这是不是正则expression式语法错了,因为我尝试了一个简单的例如'%[^0-9]%'来testing,但它也不起作用。 有谁知道我怎么能做到这一点?

有没有办法获得SQL Server中所有当前临时表的列表?

我意识到,临时表是会话/连接绑定,不可见或访问会话/连接。 我有一个长期运行的存储过程,在不同阶段创build临时表。 有没有办法看到当前临时表的列表? 我需要什么特权才能做到这一点? 或者, 有没有办法可以看到正在运行的存储过程中正在执行的特定SQL语句? 该过程作为SQL Server中的计划作业运行。 我正在使用SQL Server 2000。 感谢您的指导。