一、PowerDesigner生成sql问题
生成sql的方法是 Database -->Generate Database (Ctrl + G ) 但是提示
Generation aborted due to errors detected during the verification of the model.
解决方法: 将check model 去掉就可以了.其中,one file on是否需要按照表生成许多个sql(默认选上,即不需要)
odbc generation sql直接生成到数据库中
& ......
引用邹建的:
Cod
SELECT
表名=case when a.colorder=1 then d.name else '' end,
字段序号=a.colorder,
字段名=a.name,
标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
主键=case when exists(SELECT 1 from sysobjects where xtype='PK' and name in (
SELECT name from sysindexes WHERE indid in(
SELECT indid from &n ......
1.使用CTE简化嵌套sql
先看下面一个嵌套的查询语句:
select * from person.StateProvince where CountryRegionCode in
(select CountryRegionCode from person.CountryRegion where Name like 'C%')
上面的查询语句使用了一个子查询。虽然这条SQL语句并不复杂,但如果嵌套的层次过多,会使SQL语句非常难以阅读和维护。因此,也可以使用表变量的方式来解决这个问题,SQL语句如下:
declare @t table(CountryRegionCode nvarchar(3))
insert into @t(CountryRegionCode) (select CountryRegionCode from person.CountryRegion where Name like 'C%')
select * from person.StateProvince where CountryRegionCode
in (select * from ......
经典SQL语句大全
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:
删除新表:drop table tabname
6、说明:
增加一个列:Alter table tabname add column col type
注:列 ......
select f.AGENTID as 'ID',
f.AGENTNAME as '姓名',
f.COMNAME as '公司简称',
c.REGISTDATE as '注册时间',
c.VALIDDATE as '截至时间',
c.DISTRICT as '区县',
c.COMAREA as '负责区域',
c.category as '等级',
case when c.agentcardflag = 1 then '待审核'
when c.agentcardflag = 2 then '审核通过'
when c.agentcardflag = 3 then '未通过'
&nbs ......
1. SET DEADLOCK_PRIORITY
说明:控制在发生死锁情况时会话的反应方式。如果两个进程都锁定数据,并且直到其它进程释放自己的锁时,每个进程才能释放自己的锁,即发生死锁情况。
语法:SET DEADLOCK_PRIORITY { LOW | NORMAL | @deadlock_var }
参数:LOW 指定当前会话为首选死锁牺牲品。Microsoft® SQL Server™ 自动回滚死锁牺牲品的事务,并给客户端应用程序返回 1205 号死锁错误信息。
NORMAL 指定会话返回到默认的死锁处理方法。
@deadlock_var 是指定死锁处理方法的字符变量。如果指定 LOW,则 @deadlock_var 为 3;如果指定 NORMAL,则 @deadlock_var 为 6。
注释:SET DEADLOCK_PRIORITY 的设置是在执行或运行时设置,而不是在分析时设置。
权限:SET DEADLOCK_PRIORITY 权限默认授予所有用户。
2. SET LOCK_TIMEOUT
说明:指定语句等待锁释放的毫秒数。
语法:SET LOCK_TIMEOUT timeout_period
参数:timeout_period 是在 Microsoft® SQL Server™ 返回锁定错误前经过的毫秒数。值为 -1(默认值)时表示没有超时期限(即无限期等待)。
当锁等待超过超时值时 ......