ورود

View Full Version : stored procedures



sasan123
شنبه 11 آبان 1387, 17:07 عصر
دوستان می شه بین خروجی یک stored procedures و خروجی یک جدول در پایگاه داده ارتباط برقرار کرد اگه می شه چه جوری البته فیلد مشتر ک میان انها وجود دارد

AminSobati
شنبه 11 آبان 1387, 21:22 عصر
دوست عزیزم،
اگر امکانش رو دارین نتیجه sp رو داخل جدول موقتی بریزین: insert mytable exec mysp

sasan123
یک شنبه 12 آبان 1387, 07:56 صبح
select nam,tablo,tarekh1,k1(nam) as ss from sherkat_sabet
که این k1(nam) همان procedure موقت من می باشد من نمی دانم که چه طوری در این select فراخوانی کنم لطفا کمک کنید
و این هم procedure من


create PROCEDURE #k1(@pid nvarchar(50))

AS
Declare @S int
Declare @f int
Declare @i int
declare @a nvarchar(50)
set @i=1
select @s=(Select count(nam) From sherkat_m where nam=@pid)
set @f=0
while (1=1)
begin
if (@i=@s)
begin
select top(1) geymat,nam into #ss2 from sherkat_m where nam=@pid

break
end
if(@s=0)
break
set @i=@i+1

end
return

AminSobati
یک شنبه 12 آبان 1387, 22:34 عصر
نتیجه sp رو طبق مثالی که عرض کردم به جدول وارد کنین و بعد این جدول رو با sherkat_sabet میتونین Join کنین

sasan123
دوشنبه 13 آبان 1387, 09:25 صبح
دوستان کسی می تونه مرا بیشتر راهنمایی کند من که نفهمیدم :خجالت::خجالت::ناراحت::افسرد ::عصبانی++:

sasan123
پنج شنبه 16 آبان 1387, 08:05 صبح
دوستان چرا کسی کمک نمی کنه

AminSobati
پنج شنبه 16 آبان 1387, 14:58 عصر
create table t1(
c1 int)
go

create proc sp1
as
select 1
select 2
go

insert t1 exec sp1
go

select * from t1

sasan123
پنج شنبه 16 آبان 1387, 18:13 عصر
دوست من معذرت می خواهم اگه میشه جوابم را بدین منظور از این این که من جدول را بسازم چه جوری یعنی این چه جوری بسازم
create table t1(
c1 int)
go

و سوال دومم این که
create proc sp1
as
select 1
select 2
go
این یعنی همان #k1
که در پست بالاتر قرار داده ام
و سوال سومم این که
insert t1 exec sp1


این را در کجا قرار دهم ایا باید در همان دو تا که ایجاد کرده ام قرار دهم ممنون

sasan123
شنبه 18 آبان 1387, 11:25 صبح
دوستان سوال هایم را مبهم پرسیده ام اگه این جوریه بگید تا بیشتر توضیح دهم کمک.......

sasan123
شنبه 18 آبان 1387, 12:25 عصر
ALTER PROCEDURE dbo.StoredProcedure5
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
create table kkh(nam nvarchar(50), geymat real)
insert into kkh exec l1
SELECT *from kkh right join sherkat_sabet on sherkat_sabet.nam= kkh.nam
/* SET NOCOUNT ON */
RETURN



pid nvarchar(50))@)ALTER PROCEDURE l1
AS
Declare @S int
Declare @f int
Declare @i int
declare @a nvarchar(50)
set @i=1
select @s=(Select count(nam) From sherkat_m where nam=@pid
set @f=0
while (1=1)
begin
if (@i=@s)
begin
select top(1) geymat,nam into #ss2 from sherkat_m where nam=@pid


break
end
if(@s=0)
break
set @i=@i+1
end
return

دوستان یعنی این طوری ولی مشکلی که الان دارم اینکه تمی تونم l1 را به صورت پارامتری فراخوانی کنم و error می دهد که پارامتر ندارد چه کار کنم

sasan123
یک شنبه 19 آبان 1387, 07:21 صبح
دوستان دارم کار اشتباهی را انجام می دهم اگه این طوری بگین می خواهم یک while بنویسم که تا رسید به اخرین رکورد مربوط به هر کالا ان را به جدول موقت باز گردونه و برای همین گذاشتم در stored pricedure l1
حالا ممشکلم این که نمی تونم بر اساس نام کالاها را به عنوان پارامتر ورودی بهش بدهم و بخونه و بره نام بعدی و پروسیجر را فراخوانی کند کمک کنید