该自定义函数功能主要是实现数据的转换。通过传递参数值1与转换sql参数2,得到转换后的值。同时参数值2中需要参数值1来实现查询。
例如:
select Deptname from Dept where DeptNo=@DeptNoCREATE FUNCTION dbo.Dep(@DeptNo,@SQL)
as......return @deptname???@deptNo='12345';
@SQL='select Deptname from Dept where DeptNo=@DeptNo'
select dbo.dep('12345',@SQL).
请问如何写该自定义函数数返回'select Deptname from Dept where DeptNo=‘12345’的值。(因为我传递的@SQL是字符串形式,不能在自定义函数中执行,请高手指点,谢谢)
例如:
select Deptname from Dept where DeptNo=@DeptNoCREATE FUNCTION dbo.Dep(@DeptNo,@SQL)
as......return @deptname???@deptNo='12345';
@SQL='select Deptname from Dept where DeptNo=@DeptNo'
select dbo.dep('12345',@SQL).
请问如何写该自定义函数数返回'select Deptname from Dept where DeptNo=‘12345’的值。(因为我传递的@SQL是字符串形式,不能在自定义函数中执行,请高手指点,谢谢)
returns varchar(100)
as
begin
declare @var varchar(100)
set @var='select Deptname from Dept where DeptNo='''+cast(@i as varchar)+''''
return (@var)
end
select dbo.f_getsql('123','1')
------------------------------------------
select Deptname from Dept where DeptNo='123'
CREATE PROC proc1
@p1 VARCHAR(20), --查詢時條件的值
@p2 varchar(100)
as
BEGIN
DECLARE @SQL_C VARCHAR(120)
SET @SQL_C =@p2 +'CONVERT(VARCHAR(20),'''+@p1+''')'
EXEC (@SQL_C)
END
執行 EXEC proc1 '5U641E7YV8W','SELECT WO_NO FROM dbo.OPAS_SFC where NO='
可得到結果
若要更好一點就要傳形態等參數進去了