34,593
社区成员
发帖
与我相关
我的任务
分享
create table ta(id int,col1 char(2))
go
insert into ta select 1,'a' union select 2,'b'
select * from ta
/*id col1
----------- ----
1 e
2 b
*/
CREATE PROC GetInFo
@tableName Varchar(30),
@filter varchar(30),
@conditions varchar(512)=NULL --where后面的条件
AS
begin
declare @sql nvarchar(1000)
set @sql = 'select '+@filter+ ' from '+@tableName+ isnull( ' where '+@conditions, ' ')
-- print @sql
execute(@sql)
end
go
exec getinfo 'ta', 'col1','id = 1'
drop proc getinfo
CREATE PROC GetInFo
@tableName Varchar(30),
@filter varchar(30)
AS
begin
declare @sql nvarchar(1000)
set @sql = 'select '+@filter+ ' from '+@tableName+' where '+' 1=1 '
print @sql
execute(@sql)
end
CREATE PROC GetInFo @tableName Varchar(30)
@filter varchar(30)
AS
declare @sql nvarchar(1000)
begin
set @sql = 'select '+@filter+ ' from '+@tableName+' where '+' 1=1 '
print @sql
execute(@sql)
end
CREATE PROC GetInFo
@tableName Varchar(30),
@filter varchar(30),
@id varchar(2)
AS
begin
declare @sql nvarchar(1000)
set @sql = 'select '+@filter+' from '+@tableName+ ' where id='+@id
print @sql
execute(@sql)
end
go
exec getinfo 'ta', 'col1','1'
drop proc getinfo
ALTER PROCEDURE tmp
AS
declare @sql varchar(1000)
set @sql= 'select * from Customers where left(customerid,1)=''a'' order by CustomerID'
exec(@sql)