摘要: 如果需要查询表结构,SQL语句能否实现呢?下面就将为您介绍查询表结构的SQL语句的写法,希望对您学习SQL语句能够有所帮助。--查询非系统数据库 SelectnameFROMMaster..SysDatabaseswheredbid>4 --选择water数据库下的所有表 use[water]SELECTnameFROMsysobjectsWHERExtype='U'Orxtype='S'--选择water数据库下的所有用户表 use[water]SELECTnameFROMsysobjectsWHERExtype='U'ANDOBJECT 阅读全文
posted @ 2012-06-01 08:49 Nina 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 如果需要判断添加列的表中是否有主键,或者是判断字段是否存在,应该怎么做呢?下面就为您介绍实现该功能的SQL语句写法,供您参考学习。AD:下文为您介绍的SQL语句可以实现判断字段是否存在,并判断添加列的表中是否有主键,这些SQL语句比较有实用的价值,希望可以让您对SQL语句有更多的认识。--判断要添加列的表中是否有主键 ifexists(select1fromsysobjectswhereparent_obj=object_id('tb')andxtype='PK') begin print'表中已经有主键,列只能做为普通列添加' --添加int类 阅读全文
posted @ 2012-06-01 08:48 Nina 阅读(1059) 评论(0) 推荐(0) 编辑
摘要: 1、 首先要搞明白什么叫执行计划?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用“全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。产生一个正确的“执行计划”有两点很重要:(1) SQL语句是否清晰地告诉查询优化器它想干什么?(2) 查询优化器得到的数据库统计信息是否是最新的、正确的?2、 统一SQL语句的写法对于以下两句SQL语句,程序员认为是相同 阅读全文
posted @ 2012-06-01 08:46 Nina 阅读(536) 评论(0) 推荐(0) 编辑
摘要: if object_id('dbo.Table1') is not null drop table Table1GOCREATE TABLE Table1 (Table1_id int primary key CLUSTERED, name char(10))GOif object_id('dbo.Table2') is not null drop table Table2GOCREATE TABLE Table2 ( Table2_id int primary key NONCLUSTERED, Table1_id int, name char(10))GOC 阅读全文
posted @ 2012-06-01 08:42 Nina 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 資料表提示 (Transact-SQL)SQL Server 2012其他版本 SQL Server 2008 R2SQL Server 2008SQL Server 2005本主題尚未接受評分 - 為這個主題評分 資料表提示會在資料操作語言 (DML) 陳述式持續時間覆寫查詢最佳化工具的預設行為,其方式是指定鎖定方法、一個或多個索引、查詢處理作業 (例如資料表掃描或索引搜尋) 或是其他選項。 資料表提示會在 DML 陳述式的 FROM 子句中指定,並只會影響該子句中參考的資料表或檢視表。 注意由於 SQL Server 查詢最佳化工具通常會選取最好的查詢執行計畫,因此,我們建議資深的開發人員 阅读全文
posted @ 2012-06-01 08:37 Nina 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 查詢提示會指定所指出的提示應該用於整個查詢。 查詢提示會影響陳述式中的所有運算子。 如果主要查詢涉及 UNION,只有最後一個包含 UNION 作業的查詢可以有 OPTION 子句。 查詢提示指定在 OPTION 子句中。 如果一個或多個查詢提示造成查詢最佳化工具不會產生有效的計畫,就會產生 8622 錯誤。 注意由於 SQL Server 查詢最佳化工具通常會選取最好的查詢執行計畫,因此,我們建議資深的開發人員和資料庫管理員將它當做最後的解決辦法。適用於:DELETE INSERT SELECT UPDATE MERGE Transact-SQL 語法慣例 語法 複製<query_hi 阅读全文
posted @ 2012-06-01 08:32 Nina 阅读(297) 评论(0) 推荐(0) 编辑
摘要: LOOP | HASH | MERGE指定查詢中的聯結應該使用迴圈、雜湊或合併。 使用 LOOP |HASH | MERGE JOIN 會在兩份資料表之間強制執行特定聯結。 您無法同時使用 RIGHT 或 FULL,將 LOOP 指定為聯結類型。REMOTE指定在右資料表上執行聯結作業。 當左資料表是本機資料表,右資料表是遠端資料表時,這非常有用。 只有在左資料表的資料列數比右資料表少時,才應該使用 REMOTE。如果右資料表是本機資料表,則聯結會在本機執行。 如果兩份資料表都在遠端,但來自不同的資料來源,REMOTE 會以右資料表為基礎來執行聯結。 如果兩份資料表都是遠端資料表,且來自相同資 阅读全文
posted @ 2012-06-01 08:30 Nina 阅读(1317) 评论(0) 推荐(0) 编辑