مشکل در اجرای دستورات transact-sql برای ساخت Procedur

m.yazdian

New Member
با سلام
من میخوام یک سری دستورات رو که مر بوط به ساخت تعدادی Procedur میشود رو در یک فایل مثلا Procedur.sql ذخیره کنم و این فایل رو توسط StreamReader در net. بخونم و در یک sql command اونو Execute کنم.
در اجرای این دستورات اگر بجای Procedur بخوام Table بسازم و یا Database جدید و یا کار دیگری مشکلی ندارم اما برای ساخت Procedure ( چندین ) پشت سرهم مشکل دارم نمونه فایل Procedur.sql را اینجامیزارم خوشحال میشم اگر کسی بتونه کمکم کنه .
راستی مشکل با گزاشتن GO در بین Procedure هاحل نمی شه!!!
در صورت امکان به این آدرس میل بزنید[email protected]
باتشکر...:

کد:
CREATE PROCEDURE [Select_Authenticate]
(@username varchar(50) , @password varchar(50))
 AS
select * from tblmanagers where( [uname]=@username AND [pass]=@password )

CREATE PROCEDURE [Select_Existing]
(
@column nvarchar(50),
@table nvarchar(50),
@key nvarchar(50)
)
AS
declare @strsql nvarchar(500)
set @strsql='select '+ @column +' from '+ @table +' where '+ @column +'=N'''+ @key +''''
exec sp_executesql @strsql

CREATE PROCEDURE [Select_Gallery]
(
@parent int
)
AS
declare @name nvarchar(50)
select @name = (select menu from tblgallerygroup where id = @parent)
select * from tblgallery where name = @name

CREATE PROCEDURE [Select_News]
(
@parent int,
@permission int
)
AS
declare @groupid nvarchar(50)
select @groupid = (select groupid from tblnewsgroup where id = @parent)
select * from tblnews  where groupid = @groupid and permission <= @permission

CREATE PROCEDURE [Select_Pages]
(
@parent int
)
As
declare @id int
select @id = (select id from tblpages where [EMAIL="id=@parent"]id=@parent[/EMAIL])
select * from tblpages where id = @id

CREATE PROCEDURE [Update_MailNews]
(@title nvarchar(50) , @body ntext)
AS
update tblMailNews set [EMAIL="body=@body"]body=@body[/EMAIL] where [EMAIL="title=@title"]title=@title[/EMAIL]

CREATE PROCEDURE [Active_FAQ]
(@email nvarchar(50) , @active nvarchar(50))
AS
update tblFAQ set [EMAIL="active=@active"]active=@active[/EMAIL] where [EMAIL="email=@email"]email=@email[/EMAIL]

CREATE PROCEDURE [Active_MailNews]
(@stablish nvarchar(50) , @title nvarchar(50))
AS
update tblMailNews set [EMAIL="stablish=@stablish"]stablish=@stablish[/EMAIL] where [EMAIL="title=@title"]title=@title[/EMAIL]

CREATE PROCEDURE [Active_page]
(@name nvarchar(50))
 AS
update tblpages set active='<img src="../icon/cross.gif">' 
update tblpages set active='<img src="../icon/tick.gif">' where name = @name
update tblregister set homepage = @name

CREATE PROCEDURE [Active_Skin]
(@name nvarchar(50))
AS
update tblskin set stablish=0
update tblskin set stablish=1 where [EMAIL="name=@name"]name=@name[/EMAIL]

CREATE PROCEDURE [Active_User]
(@parametr nvarchar(50) , @email nvarchar(50))
AS
update tblMailingList set [EMAIL="active=@parametr"]active=@parametr[/EMAIL] where [EMAIL="email=@email"]email=@email[/EMAIL]
 

m.yazdian

New Member
سلام به نکته جالبی اشاره کردید
ولی این کار رو بصورت Command توی خود نرم افزار انجام دادم و به این Query اضافح می شه !!!

یه نکته جالبی را مطرح کنم و اون اینه که اگر شما Query ها رو بصورت خطی بنویسید
Create Procedure gholi1 AS select * from tbltest
Create Procedure gholi2 AS select * from tbltest
Create Procedure gholi3 AS select * from tbltest

وبصورت Readline بخونید و اجرا کنید Error نمیگیره

ولی مشکل اینجاست که بعضی از Procedure ها خیلی بزرگ هستند که نمیشه تو یک سطر نوشت:wink:
 

MDP

Well-Known Member
اونم راه داره شما اول و آخر هر Pc یه دستور Go بنویس درست میشه!
 

جدیدترین ارسال ها

بالا