Yılmaz Yavuz tarafından 22 Mayıs 2009 tarihinde yazılmış
Select Into bir tablodan verileri alarak başka bir tablo oluşturmaya yarayan bir sql cümlesidir.
Genellikle tabloların backuplarını almak için kullanılmaktadır.
SQL SELECT INTO Yazımı:
Tüm kolonlardan yeni bir tablo oluşturabiliriz :
SELECT *
INTO yeni_tablo_adi [IN harici_veritabani]
FROM eski_tablo_adi |
Yada sadece belirlirli kolonlardan yeni bir tablo oluşturabiliriz:
SELECT kolon_adi1,kolon_adi2
INTO yeni_tablo_adi [IN harici_veritabani]
FROM eski_tablo_adi |
Kaynak: http://www.w3schools.com/Sql/sql_select_into.asp
Yılmaz Yavuz tarafından 5 Kasım 2008 tarihinde yazılmış
SQL Split UDF:
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[UTILfn_Split]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[UTILfn_Split]
GO
create function dbo.UTILfn_Split(
@String nvarchar (4000),
@Delimiter nvarchar (10)
)
returns @ValueTable table ([Value] nvarchar(4000))
begin
declare @NextString nvarchar(4000)
declare @Pos int
declare @NextPos int
declare @CommaCheck nvarchar(1)
set @NextString = ''
set @CommaCheck = right(@String,1)
--Check for trailing Comma, if not exists, INSERT
if (@CommaCheck <> @Delimiter )
set @String = @String + @Delimiter
--Get position of first Comma
set @Pos = charindex(@Delimiter,@String)
set @NextPos = 1
--Loop while there is still a comma in the String of levels
while (@pos <> 0)
begin
set @NextString = substring(@String,1,@Pos - 1)
insert into @ValueTable ( [Value]) Values (@NextString)
set @String = substring(@String,@pos +1,len(@String))
set @NextPos = @Pos
set @pos = charindex(@Delimiter,@String)
end
return
end
--------
DECLARE @params nvarchar(100)
SET @params='962, 979, 971'
select * from dbo.TABLETEST
where ID IN (select * from dbo.UTILfn_Split(@params,','))
Kaynak
Son Yorumlar