為什麼使用事務 當對多個表進行更新的時候,某條執行失敗。為了保持資料的完整性,需要使用交易回復。 顯示設定事務 複製代碼 代碼如下:begin try begin transaction insert into shiwu (asd) values ('aasdasda'); commit transaction end try begin catch select ERROR_NUMBER() as errornumber rollback transaction end catch
1、查詢SQL中的所有表: Select TABLE_NAME FROM 資料庫名稱.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' 執行之後,就可以看到資料庫中所有屬於自己建的表的名稱 2、查詢SQL中所有表及列: Select dbo.sysobjects.name as Table_name, dbo.syscolumns.name AS Column_name FROM dbo.syscolumns INNER JOIN
1.遊標方式 複製代碼 代碼如下:DECLARE @Data NVARCHAR(max) SET @Data='1,tanw,2,keenboy' --Id,Name DECLARE @dataItem NVARCHAR(100) DECLARE data_cursor CURSOR FOR (SELECT * FROM split(@Data,';')) OPEN data_cursor FETCH NEXT FROM data_cursor INTO @dataItem WHILE
複製代碼 代碼如下:--執行順序 From Where Select select * from (select sal as salary,comm as commission from emp ) x where salary<5000 --得出 Name Work as a Job select ename +' Work as a'+job as msg from emp where deptno=10 --如果員工工資小於2000返回UnderPaid 大於等於4k
複製代碼 代碼如下:--建立測試表 DECLARE @Users TABLE ( ID INT IDENTITY(1,1), UserInfo XML ) ---插入測試資料 DECLARE @xml XML SET @xml=' <root> <user> <userid>1</userid> <userName>test1</userName> </user> </root>' INSERT
複製代碼 代碼如下:USE TestDB declare @conversation uniqueidentifier while exists (select 1 from sys.transmission_queue ) begin set @conversation = (select top 1 conversation_handle from sys.transmission_queue ) end conversation @conversation with cleanup
SQL Server本身提供了這麼一個DMV來返回這些資訊,它就是sys.dm_exec_sessions 。 比如在我的機器上做一下查詢:複製代碼 代碼如下:SELECT * FROM sys.dm_exec_sessions WHERE host_name IS NOT NULL 我們也可以根據登入名稱來分組:複製代碼 代碼如下:SELECT login_name ,COUNT(session_id) AS session_count FROM