| 
  
   Size: 1570 
  
  Comment:  
 | 
  
   Size: 2342 
  
  Comment:  
 | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 62: | Line 62: | 
== Create stored procedure == {{{highlight sql IF OBJECT_ID('insertName', 'P') IS NOT NULL BEGIN DROP PROC insertName; END GO CREATE PROCEDURE insertName @name as nvarchar(1024) , @commited as int output AS BEGIN declare @newIdTbl1 as int; set @commited=0; begin try begin transaction insert into tbl1(namex) values(@name); SELECT @newIdTbl1 = SCOPE_IDENTITY(); insert into tbl2(refTbl1) values(@newIdTbl1); if @@TRANCOUNT>0 begin commit transaction set @commited=1; end end try begin catch rollback transaction end catch; END; GO declare @x as int; exec insertName 'jjkkll',@x output; select @x; }}}  | 
tsql
Microsoft Transact SQL (t-sql)
Show stored procedure or function code
Show CLR assemblies
Extract SQL CLR assembly
http://serverfault.com/questions/139703/extracting-a-sqlclr-assembly
   1 -- reconfigure
   2 sp_configure 'show advanced options', 1;
   3 GO
   4 RECONFIGURE;
   5 GO
   6 sp_configure 'Ole Automation Procedures', 1;
   7 GO
   8 RECONFIGURE;
   9 GO
  10 
  11 -- extract assembly
  12 DECLARE @IMG_PATH VARBINARY(MAX)
  13 DECLARE @ObjectToken INT
  14 
  15 SELECT @IMG_PATH = content FROM sys.assembly_files WHERE assembly_id = 65824 and file_id=1
  16 
  17 EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
  18         EXEC sp_OASetProperty @ObjectToken, 'Type', 1
  19         EXEC sp_OAMethod @ObjectToken, 'Open'
  20         EXEC sp_OAMethod @ObjectToken, 'Write', NULL, @IMG_PATH
  21         EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, 'c:\windows\temp\65824.dll', 2
  22         EXEC sp_OAMethod @ObjectToken, 'Close'
  23         EXEC sp_OADestroy @ObjectToken
Number seconds between two dates
Convert dates to string
Convert types: http://msdn.microsoft.com/en-us/library/ms187928%28SQL.90%29.aspx
Create stored procedure
{{{highlight sql IF OBJECT_ID('insertName', 'P') IS NOT NULL BEGIN
- DROP PROC insertName;
 
END GO
CREATE PROCEDURE insertName
- @name as nvarchar(1024) , @commited as int output
 
AS BEGIN
- declare @newIdTbl1 as int; set @commited=0; begin try   
- begin transaction insert into tbl1(namex) values(@name); SELECT @newIdTbl1 = SCOPE_IDENTITY(); insert into tbl2(refTbl1) values(@newIdTbl1); 
if @@TRANCOUNT>0 begin
- commit transaction 
- set @commited=1;
 
 
 - commit transaction 
 
- rollback transaction
 
 - begin transaction insert into tbl1(namex) values(@name); SELECT @newIdTbl1 = SCOPE_IDENTITY(); insert into tbl2(refTbl1) values(@newIdTbl1); 
 
END; GO
declare @x as int; exec insertName 'jjkkll',@x output; select @x; }}}
