下面SQL 中的;with 是啥意思,为啥一定要加上':with'呢,起啥作用呢。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下面SQL 中的;with 是啥意思,为啥一定要加上':with'呢,起啥作用呢。相关的知识,希望对你有一定的参考价值。

;with
digits (i) as(--set up a set of numbers from 0-9
select i
from (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) as digits (i))
--builds a table from 0 to 99999
,sequence (i) as (
SELECT D1.i + (10*D2.i) + (100*D3.i) + (1000*D4.i) + (10000*D5.i)
FROM digits AS D1 CROSS JOIN digits AS D2 CROSS JOIN digits AS D3
CROSS JOIN digits AS D4 CROSS JOIN digits AS D5)
select i, nchar(i) as character
from sequence
where i between 48 and 122 --vary to include any characters
--in the character set of choice
order by nchar(i) collate Latin1_General_bin --change to the collation you
--are trying
GO

SQL 语句里面的 with
是使用在 CTE 上面的

CTE(Common Table Expression) ,即公用表表达式,可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE ⅥEW 语句的执行范围内定义的临时结果集。CTE 与派生表类似,具体表现在不存储为对象,并且只在查询期间有效。与派生表的不同之处在于,CTE 可自引用,还可在同一查询中引用多次。
参考技术A With用来给子查询命名的,括号里是列名
跟from后的 (select .... From table)t 类似,写法不一样而已
参考技术B 这个没有用过。
你说的是 ms SQL吗。

SQL创建表里边的with是啥意思

例如Create table [dbo].[adminitable]
([adminpassword] [varchar](50) not null,[adminname] [varchar](20) not nullconstraint [pk_adminitable] primary key clustered)
([admininame] asc)
with (pad_index=off,statistics_norecompute=off,ignore_dup_key=off,
allow_row_locks=on,allow_page_locks=on)
on [primary] on [primary]
上述语句大概是创建一个admintable,with后面的语句不知道什么意思,还有最后面两个on [primary]是什么意思???
primary 是主键唯一约束
with后面接的是表的约束
这个我知道,我想问的是为什么要两个on [primary]?还有with后面的语句的具体意思...

参考技术A 你写上去的编译的时候有点小错误,正确的应该是这样写的
Create table [dbo].[adminitable](
[adminpassword] [varchar](50) null,
[adminname] [varchar](20) null,

constraint [pk_adminitable] primary key clustered
(
[adminname] asc
)
with (pad_index=off,statistics_norecompute=off,ignore_dup_key=off,allow_row_locks=on,allow_page_locks=on)
on [primary])
on [primary]
constraint 是子句限制
on [primary]是指的该表位于primary文件组,也就是主文件组,一个数据库可以分为n个文件组

with 后面接的是索引描述
pad_index是指定非页级索引页的数据充满度...本回答被提问者采纳
参考技术B 创建表[dbo]。[adminitable](
[adminpassword] [为VarChar](50)空,
[adminname] [为VarChar](20)空,

约束[pk_adminitable]主键集群

[adminname]递增

与(pad_index =关闭,statistics_norecompute =起飞时,IGNORE_DUP_KEY =关闭,allow_row_locks =上,allow_page_locks =上)

以上是关于下面SQL 中的;with 是啥意思,为啥一定要加上':with'呢,起啥作用呢。的主要内容,如果未能解决你的问题,请参考以下文章

linux: #ping -b 192.168.1.255 这个命令是啥意思?为啥要加-b 参数?

sql里面 with...as 是啥意思啊?如何使用

onclick="return confirm(' ')" 是啥意思为啥要加return?

C语言 counter=counter+1 是啥意思,为啥后面要加1,去掉行吗?与while 有什关系?

SQL中的max(sname)是啥意思?

SQL创建表里边的with是啥意思