Forum

Tablo ismini değişk...
 
Bildirimler
Hepsini Temizle

Tablo ismini değişken olarak verme

6 Yazılar
3 Üyeler
0 Reactions
5,539 Görüntüleme
(@hasanyildiz)
Gönderiler: 16
Eminent Member
Konu başlatıcı
 

Merhabalar,

Sql ile ilgili yardıma ihtiyacım var. Bir procedure oluşturuyorum. Procedure nin amacı verdiğim parametrelere göre bir select yapıcak.

örneğin select * from tablo01 burada 01 i değişken olarak tanımlayabilirmiyim. yani tablo ismi verdiğim @tablo isimli değişkeni kullandırabilirmiyim.

Teşekkürler.

 

 

 
Gönderildi : 29/09/2010 13:46

(@GokhanTASCI)
Gönderiler: 38
Trusted Member
 

Merhaba.

 Tabiki kullanmanız mümkün.

 

Create procedure s_ProcTable
@TableName varchar(128)
as

declare @sql varchar(4000)
	select @sql = 'select rows = count(*) from [' + @TableName + ']'
	exec (@sql)
go

 

 
Gönderildi : 30/09/2010 06:03

(@hasanyildiz)
Gönderiler: 16
Eminent Member
Konu başlatıcı
 

Teşekkürler .

 
Gönderildi : 30/09/2010 23:05

(@hasanyildiz)
Gönderiler: 16
Eminent Member
Konu başlatıcı
 

Funciton da olmuyor ????

 

 
Gönderildi : 02/10/2010 22:34

(@YunusUNSAL)
Gönderiler: 2
New Member
 

Merhab Gökhan Bey

Sizin verdiğiniz örneğe göre yaptım ama çalıştıramadım Sizden ricam aşağıdaki cümlem normalde çalışıyor tablo ismi olan 'LG_703_01_STLINE' nın '703' kısmının değişken olarak cümleyi oluşturursanız çok sevinirim.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SELECT
ROW_NUMBER() OVER(ORDER BY CODE) SNO,KYNO,LOGICALREF,CODE,NAME,A8 FROM (
select a1.KYNO,a1.LOGICALREF,a1.CODE,a1.NAME,sum(a1.AGUSTOS) as A8
from (select T.SPECODE4 KYNO,T.LOGICALREF, T.CODE,T.NAME,
isnull((select sum(CASE WHEN TRCODE in (7,8,9) THEN ((AMOUNT/NULLIF(UINFO1,0))*UINFO2) WHEN TRCODE in (2,3) THEN -((AMOUNT/NULLIF(UINFO1,0))*UINFO2) end)
from LG_703_01_STLINE with(nolock) where STOCKREF = T.LOGICALREF and CANCELLED = 0 and SOURCEINDEX = 1 and month(DATE_) = 8),0) as AGUSTOS
from LG_703_ITEMS as T with(nolock) where T.ACTIVE = 0 and T.SPECODE4 <> ''
)A1
group by a1.KYNO,a1.LOGICALREF,a1.CODE,a1.NAME
)A2 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

6 sutundan oluşan 2400 satıra yakın veri döküyor

 

 
Gönderildi : 14/09/2017 19:39

(@YunusUNSAL)
Gönderiler: 2
New Member
 

Merhab Gökhan Bey

Sizin verdiğiniz örneğe göre yaptım ama çalıştıramadım Sizden ricam aşağıdaki cümlem normalde çalışıyor tablo ismi olan 'LG_703_01_STLINE' nın '703' kısmının değişken olarak cümleyi oluşturursanız çok sevinirim.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SELECT 
ROW_NUMBER() OVER(ORDER BY CODE) SNO,KYNO,LOGICALREF,CODE,NAME,A8 FROM ( 
select a1.KYNO,a1.LOGICALREF,a1.CODE,a1.NAME,sum(a1.AGUSTOS) as A8 
from (select T.SPECODE4 KYNO,T.LOGICALREF, T.CODE,T.NAME, 
isnull((select sum(CASE WHEN TRCODE in (7,8,9) THEN ((AMOUNT/NULLIF(UINFO1,0))*UINFO2) WHEN TRCODE in (2,3) THEN -((AMOUNT/NULLIF(UINFO1,0))*UINFO2) end) 
from LG_703_01_STLINE with(nolock) where STOCKREF = T.LOGICALREF and CANCELLED = 0 and SOURCEINDEX = 1 and month(DATE_) = 8),0) as AGUSTOS 
from LG_703_ITEMS as T with(nolock) where T.ACTIVE = 0 and T.SPECODE4 <> '' 
)A1 
group by a1.KYNO,a1.LOGICALREF,a1.CODE,a1.NAME 
)A2 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

6 sutundan oluşan 2400 satıra yakın veri döküyor

 

 
Gönderildi : 14/09/2017 19:42

Paylaş: