A. sql樹形層級查詢
你好的!
oracle 的start with connect by
別的資料庫用cte 遞歸都能達到你要的效果!
望採納~
B. sql如何更新數據(用sql語句)
代碼如下:
--創建鏈接伺服器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程伺服器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼 '
--查詢示例
select * from ITSV.資料庫名.dbo.表名
--導入示例
select * into 表 from ITSV.資料庫名.dbo.表名
--以後不再使用時刪除鏈接伺服器
exec sp_dropserver 'ITSV ', 'droplogins '
--連接遠程/區域網數據(openrowset/openquery/opendatasource)
--1、openrowset
--查詢示例
select * from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)
--把本地表導入遠程表
insert openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openquery用法需要創建一個連接
--首先創建一個連接創建鏈接伺服器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程伺服器名或ip地址 '
--查詢
select *
FROM openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ')
--把本地表導入遠程表
insert openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A
--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ' ).test.dbo.roy_ta
C. SQL怎麼更新整行數據
update語句基本使用方法是更新一個欄位,如果要更新整行,就需要明確指定所有的列來操作,各欄位由逗號隔開即可
寫法為:
update table set col1=x,col2=y,col2=z where id=123
另注,如果不是要更新所有數據行,一定要指定where條件
D. 在sqlserver中實現樹形結構中根、子節點數據的添加、修改
這個很好實現!就是添加和修改操作:
增加節點:首先要獲取(在修改頁面)或指定(在sql語句中)parentid的值,然後插入數據就可以啊!
修改節點:可以根據menuid,修改節點的menuName或者parentid或者是同時修改它們倆。
有問題請留言!
E. 求一條sql語句,樹形結構
最後SQL語句返回的結果是什麼?看一下以下語句行不行?
WITHAAS(SELECTpk_compID,Name,pk_fathercompPIDFROMcompany
UNIONALL
SELECTpk_dept,DeptName,pk_compFROMdept),
BAS
(SELECTCAST(NameASVARCHAR(200))Name,PID,IDFROMAWHEREPID=0
UNIONALL
SELECTCAST(B.Name+''+A.NameASVARCHAR(200)),A.PID,A.ID
FROMBJOINAONB.ID=A.PID)
SELECTNameFROMB
F. sql樹形查詢分級
必須設置好表的parentID,ID第一級設置為0
witht1as(
selecttreelevel=1,parentID,ID,cast(1asvarchar(20))ROWNUMfrom表whereID=0
unionall
selecttreelevel=treelevel+1,t2.parentID,t2.ID,cast(t1.ROWNUM+'.'+cast(row_number()over(orderbyt2.itemid)asvarchar(10))asvarchar(20))ROWNUMfrom表t2joint1ont2.parentID=t1.id
)
select*fromt1orderbyROWNUM
G. sql update 每列遞增2
oracle
update table set value = nvl(value,0) + 2;
mssql
update table set value = isNull(value,0) + 2;
H. sql中的數據更新包括哪幾種
根據作用不同,分為以下三種:
1、主數據文件。
用來存儲資料庫的數據和資料庫的啟動信息。
每個資料庫必須有且只有一個主數據文件,其擴展名為.mdf。
實際的主數據文件都有兩種名稱:操作系統文件名和邏輯文件名(在sql語句中會用到)
2、輔助數據文件
用來存儲資料庫的數據,可以擴展存儲空間。
一個資料庫可以有多個輔助數據文件。擴展名為.ndf
3、事務日誌文件
用來存放資料庫的事務日誌。凡是對資料庫進行的增、刪、改等操作,都會記錄在事務日誌文件中。
每個資料庫至少有一個事務日誌文件。擴展名為.ldf
I. 如何用sql語句實現樹形的資料庫表查詢
如果樹的層數固定就可以用語句查詢,但效率比較低。例如你說的三層:
select id,v2.name+name from t1 inner join
(select id,v1.name+name as name from t1 inner join
(select id,name from t1 where parentid = 0) v1 on t1.parentid = v1.id) v2 on t1.parentid = v2.id
J. sql update 如何更新日期型數據
update [表名]
set [日期型欄位] = null
where [條件欄位] = 判定條件;如果所有該日期型欄位都需要清空,就不加where從句。
更新資料庫里日期類型的數據:
1、如果是更新成當前時間的話:
sql:update tablename set timeNew =sysdate;
2、如果是更新成固定的時間或者是固定格式的時間,可以通過TO_DATE語句實現:
sql:update tablename set timeNew =TO_DATE('2015-12-21', 'YYYY-MM-DD');
(10)sql更新樹形擴展閱讀:
updateSQL的時間變數:
update temp
set dt=CONVERT(DATETIME,'2015-09-17 '+CONVERT(VARCHAR,dt,114))
--dt為欄位,類型為datetime
CONVERT(VARCHAR,dt,114) 為獲取dt中的時間部分。如「07:50:59.897」
再將其與日期字串連接,之後將整字串轉換為datetime類型更新到表裡。