rezaei manesh
یک شنبه 08 مرداد 1385, 17:13 عصر
سلام
من چند تا جدول دارم که همشون 3 تا فیلد دارند و می خوام یک پروسیجر بنویسم که یک رکورد به هر کدوم اونا که خواستم اضافه کنه به طوری که اسم جدول و فیلد ها و مقادیر اونها رو بدم و اون اضافه کنه
این رو هم نوشتم اما برای متن های فارسی علامت سوال میزنه
CREATE PROCEDURE SpInsertDefTables (
@StrTblName nvarchar(25),
@FldName1 nvarchAR(25),
@FldName2 nvarchAR(25),
@Fldvalue1 nvarchar(10),
@Fldvalue2 nvarchar(100),
@hasExit bit OUTPUT)
AS
DECLARE @StrExe AS NVARCHAR(400)
SET @StrExe= 'SELECT ' + @FldName1 + ' FROM ' + @strTblName + ' WHERE
' + @FldName1 + ' = '+CAST(@Fldvalue1 AS VARCHAR(10))
execute sp_executesql @StrExe
if @@ROWCOUNT >0
bEGIN
SET @hasExit=1
END
ELSE
BEGIN
SET @StrExe='INSERT INTO ' + @strTblName + ' ('+ @FldName1+','+@FldName2+' , RowLuck) '+
' VALUES ( '''+ @Fldvalue1+''','''+@Fldvalue2 +''',0)'
execute sp_executesql @StrExe
SET @hasExit =0
END
GO
من چند تا جدول دارم که همشون 3 تا فیلد دارند و می خوام یک پروسیجر بنویسم که یک رکورد به هر کدوم اونا که خواستم اضافه کنه به طوری که اسم جدول و فیلد ها و مقادیر اونها رو بدم و اون اضافه کنه
این رو هم نوشتم اما برای متن های فارسی علامت سوال میزنه
CREATE PROCEDURE SpInsertDefTables (
@StrTblName nvarchar(25),
@FldName1 nvarchAR(25),
@FldName2 nvarchAR(25),
@Fldvalue1 nvarchar(10),
@Fldvalue2 nvarchar(100),
@hasExit bit OUTPUT)
AS
DECLARE @StrExe AS NVARCHAR(400)
SET @StrExe= 'SELECT ' + @FldName1 + ' FROM ' + @strTblName + ' WHERE
' + @FldName1 + ' = '+CAST(@Fldvalue1 AS VARCHAR(10))
execute sp_executesql @StrExe
if @@ROWCOUNT >0
bEGIN
SET @hasExit=1
END
ELSE
BEGIN
SET @StrExe='INSERT INTO ' + @strTblName + ' ('+ @FldName1+','+@FldName2+' , RowLuck) '+
' VALUES ( '''+ @Fldvalue1+''','''+@Fldvalue2 +''',0)'
execute sp_executesql @StrExe
SET @hasExit =0
END
GO