常用Sql語句

2021-06-25 19:19:48 字數 2261 閱讀 6148

1.當表中有多條重覆記錄時只取一條

select * from (select *,row_number() over(partition by 銷售單明細id,員工編號 order by 銷售單明細id,員工編號) numid

from  view_sy員工業績) a where a.numid=1

2.sql2005 判斷某列是否有外來鍵引用,用sql語句實現

select 

osub.name as [子表名稱],

fk.name as [外來鍵名稱],

subcol.name as [子表列名],

omain.name as [主表名稱],

maincol.name as [主表列名]

from

sys.foreign_keys fk

join sys.all_objects osub

on (fk.parent_object_id = osub.object_id)

join sys.all_objects omain

on (fk.referenced_object_id = omain.object_id)

join sys.foreign_key_columns fkcols

on (fk.object_id = fkcols.constraint_object_id)

join sys.columns subcol

on (osub.object_id = subcol.object_id

and fkcols.parent_column_id = subcol.column_id)

join sys.columns maincol

on (omain.object_id = maincol.object_id

and fkcols.referenced_column_id = maincol.column_id)

where osub.name = '子表名' and subcol.name = '子表列名'

3.增加列

alter table hy會員檔案  add 簡碼 varchar(20) ,初始欠款 decimal(18,2),初始訂金 decimal(18,2),初始積分 decimal(18,2),公司 nvarchar(50)

4.修改字段型別

alter table xm專案 alter column 簡碼 varchar(20)
5.重新整理檢視,僅當檢視所引用的表的字段型別變更後
exec sp_refreshview 'view_kx卡項' --更改表結構型別後必須重新整理檢視
6.查詢字元是否包含在字段列的資料中

--"跟蹤顧問"的在資料庫表中儲存的形式為:'高春玲','陳麗如','駱輔娟'

select * from [hy會員檔案] where charindex('高春玲',跟蹤顧問,0)>0

整數型別

if(exists(select top 1 id from machine where charindex(convert(varchar,initmachinetypeid),@ids,0)>0))

select 1

注意:
例如:@ids='5,69,8';

7.連線日期和時間

select convert(char(10),getdate(),120)+' '+ convert(varchar(12) , getdate(), 114 )
8.修改主鍵長度

alter table opdwf510 drop constraint pk_opdwf510

goalter table opdwf510 alter column rcid varchar(80) not null

goalter table opdwf510 add constraint pk_opdwf510 primary key(rcid)

sql常用sql語句

1 查詢某個庫中所有的表名字 select name from sysobjects where xtype u and name dtproperties order by name 2 得到資料庫中所有使用者檢視 select name from sysobjects where xtype v...

常用sql語句

t sql語句複製表的方法 我在sql server 2000中有現個資料庫datahr及demo,它們的結構是一樣,其它有乙個表名為 gbitem.現在我想將demo資料庫的表名 gbitem的全部內容複製到datahr資料庫的表名為 gbitem中。請問此t sql語句應該怎麼寫?謝謝高人指點!...

常用SQL語句

查詢 sp who 中的結果值。因為儲存過程不能查詢,先轉為臨時表再查詢。declare tb table spid varchar 100 ecid varchar 100 status varchar 100 loginame varchar 100 hostname varchar 100 b...