从名称表中选择表中的所有行是Nvarchar(SQL-SERVER) [英] select all row in table from name table is Nvarchar (SQL- SERVER)

查看:63
本文介绍了从名称表中选择表中的所有行是Nvarchar(SQL-SERVER)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好。

我将通过sql查询创建过程并拥有@name_table(nvarchar)。

如何使用多个表的一个过程不使用EXCE

示例:

Hi all.
I will create procedure by sql query and have @name_table (nvarchar).
How do one procedure using for multiple table not use "EXCE"
example:

CREATE TABLE tbl_produces
(
   id int primary key,
   name nvarchar(250),
)

GO
INSERT INTO tbl_produces VALUES (1,'abc'),(2,'cde'),(3,'hfd')

GO
CREATE PROCEDURE return_table
(
    @table_name nvarchar(250)
)
AS
  SELECT * FROM @table_name  
Return

GO
" EXCE return_table 'tbl_produces' " = " SELECT * FROM tbl_produces "



我如何可以用吗?帮我 !感谢帮助


How do i can use that? Help me ! Thank for help

推荐答案

试试这个:

Try this:
CREATE PROCEDURE return_table
    @table_name nvarchar(250)
AS
BEGIN
    DECLARE @sql NVARCHAR(MAX)  

    SET @sql = N'SELECT * FROM ' + @table_name
    EXEC(@sql)
END


可以看看你是否使用了查询

Can see if you use query
CREATE PROCEDURE return_table
(
   @table_name_ nvarchar(250)
)
AS
  DECLARE @sqlStr nvarchar(max) ,
          @ParmDefinition nvarchar(MAX) 
  Set @sqlStr = 'SELECT * FROM @table_name' 
  SET @ParmDefinition = N'@table_name nvarchar(250),
  EXECUTE sp_executesql @sqlStr,
                        @ParmDefinition,
                        @table_name = @table_name_
  RETURN
  GO


当我想创建1个函数时多个表的



for multiple table when i want create 1 function

CREATE FUNCTION [dbo].[return] ( ) 
RETURNS  TABLE 
AS
RETURN
(
	select * from 
	( 
       SELECT 'EXEC return_table ''tblProduct_01''' AS sp_executesql
       UNION ALL 
	SELECT 'EXEC return_table ''tblProduct_02''' AS sp_executesql	 
) AS T
)
GO





我失败了



I is fail


这篇关于从名称表中选择表中的所有行是Nvarchar(SQL-SERVER)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆