create PROCEDURE [dbo].[AllDnn_NewsPublish_DeleteArticleByArticle]
@ArticleID nvarchar(200)
AS
declare @sql nvarchar(1000)
set @sql='DELETE dbo.Site_News_Article where ArticleID in ('+@ArticleID+')'
exec (@sql)
--[AllDnn_NewsPublish_DeleteArticleByArticle] '50,51' ......
存储过程中常用到的SQL事务处理语句格式可能会有如下几种:
第一种:
set xact_abort on
begin tran
insert ...
update ...
delete ...
commit tran
第二种:
set xact_abort on
begin tran
insert ...
if @@error<>0 rollback tran
update ...
if @@error<>0 rollback tran
delete ...
if @@error<>0 rollback tran
commit tran
第三种:
set xact_abort on
begin tran&nbs ......
1.
死锁原理
根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。
死锁的四个必要条件:
互斥条件
(Mutual exclusion)
:资源不能被共享,只能由一个进程使用。
请求与保持条件
(Hold and wait)
:已经得到资源的进程可以再次申请新的资源。
非剥夺条件
(No pre-emption)
:已经分配的资源不能从相应的进程中被强制地剥夺。
循环等待条件
(Circular wait)
:系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。
对应到
SQL Server
中,当在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁;这些资源可能是:单行
(RID
,堆中的单行
)
、索引中的键
(KEY
,行锁
)
、页
(PAG
,
8KB)
、区结构
(EXT
,连续的
8
页
)
、堆或
B
树
(HOBT)
、表
(TAB
,包括数据和索引
)
、文件
(File
,数据库文件
)
、应用程序专用资源
(APP)
、元数据
(METADATA)
、分配单元
(Allocation_Unit)
、整个数据库 ......
1。版本:Sql2008/2005
2。目的:导出指定的表中所有数据,导出格式为 insert 语句
3。具体操作:
1)找到需要导出的数据库,右键菜单,任务--〉生成脚本
2)进入向导,一路下一步,注意选择生成脚本选项的时候,将“编写数据的脚本”设置为“True”即可
3)保存生成的Sql文件 ......
成员名称说明
BigInt
Int64。64 位的有符号整数。
Binary
Byte 类型的 Array。二进制数据的固定长度流,范围在 1 到 8,000 个字节之间。
Bit
Boolean。无符号数值,可以是 0、1 或 空引用(在 Visual Basic 中为 Nothing)。
Char
String。非 Unicode 字符的固定长度流,范围在 1 到 8,000 个字符之间。
DateTime
DateTime。日期和时间数据,值范围从 1753 年 1 月 1 日到 9999 年 12 月 31 日,精度为 3.33 毫秒。
Decimal
Decimal。固定精度和小数位数数值,在 -10 38 -1 和 10 38 -1 之间。
Float
Double。-1.79E +308 到 1.79E +308 范围内的浮点数。
Image
Byte 类型的 Array。二进制数据的可变长度流,范围在 0 到 2 31 -1(即 2,147,483,647)字节之间。
Int
Int32。32 位的有符号整数。
Money
Decimal。货币值,范围在 -2 63(即 -922,337,203,685,477.5808)到 2 63 -1(即 +922,337,203,685,477.5807)之间,精度为千分之十个货币单位。
NChar
String。Unicode 字符的固定长度流,范围在 1 到 4,000 个字符之间。
NText
String。Unicode 数据的可变长度 ......
曾经有想通过创建sql server视图调整应用性能的想法,不过后来证明这个想法是行不通的。
做了个实验,在对原来的sql语句调整之后创建了两个视图,把原来的sql转换为视图了,通过视图来读取数据。最终的比较结果是通过视图比直接使用sql语句要慢,通过视图来提高sql的性能看来是不行。
联想起去年某个公司给我们做的程序sql分析,看来里面有些东西就是赤裸裸的蒙人的。 ......