martes, 14 de octubre de 2014

Help T-SQL

INFORMACION DE UNA TABLA
use DbHelpDesk
go
--
execute sp_help 'db_hd.sytcate'
SPLIT
 -- FERNANDO|ROMAN
 select SUBSTRING('FERNANDO|ROMAN',0,CHARINDEX('|','FERNANDO|ROMAN'))
 select SUBSTRING('FERNANDO|ROMAN',CHARINDEX('|','FERNANDO|ROMAN')+1,LEN('FERNANDO|ROMAN'))
 --
 -- FERNANDO
 -- ROMAN
CREACION DE TABLA A PARTIR DE UN SELECT
--
Select * into new_table  from  old_table
--

Borrar Llaves Foraneas

declare @nam_sch varchar(20) = 'db_hd'; 
select @sch = SCHEMA_ID from sys.schemas  where name = @nam_sch;
--
-- Borrado de todas las Foreign Key 
--
declare @fk_name_fk sysname,
  @fk_schema sysname,
  @fk_name_tbl sysname,
  @cmd nvarchar(1024);
declare cur_fkeys cursor for
select 
 a.name as name_fk,
 SCHEMA_NAME(a.schema_id) as name_sch,
 b.name as name_tbl
from sys.foreign_keys a
 left outer join sys.tables b on b.object_id = a.parent_object_id
where a.schema_id = @sch; 
open cur_fkeys;
fetch next from cur_fkeys
into @fk_name_fk,@fk_schema,@fk_name_tbl
while @@FETCH_STATUS = 0
begin
 set @cmd = 'ALTER TABLE ' + @fk_schema + '.' + @fk_name_tbl + ' DROP CONSTRAINT ' + @fk_name_fk;
 execute(@cmd);
 fetch next from cur_fkeys
 into @fk_name_fk,@fk_schema,@fk_name_tbl
end
close cur_fkeys;
deallocate cur_fkeys;