【问题标题】:Creating a SQL table variable in a stored procedure在存储过程中创建 SQL 表变量
【发布时间】:2015-07-28 10:46:18
【问题描述】:

我想在包含这个的存储过程中创建 SQL 变量表;

Select a,b,c,d from **@tablename** where a=1 and c=0

创建sp的时候怎么用sp做到这一点?

【问题讨论】:

  • 您需要使用动态 SQL 将表名作为参数包含在 SQL 查询中。
  • 这是不良数据库设计的标志。
  • 您使用的是哪个 DBMS? “SQL”是一种查询语言,而不是特定的 DBMS 产品。

标签: sql stored-procedures sqlparameter


【解决方案1】:

您可以在 SP 中将表变量声明为:

DECLARE @tablename TABLE(
    a INT,
    b INT,
    c INT,
    d INT);

SELECT * FROM @tablename;

【讨论】:

    【解决方案2】:

    希望这个回答对你有所帮助

    GO
    CREATE PROCEDURE PrededureName
    AS
    BEGIN
    DECLARE @tempTable TABLE
    (
        a INT, 
        b INT,
        c INT,
        d INT
    )
    INSERT INTO @tempTable (a, b, c, d)
    SELECT a, b, c, d FROM @tablename WHERE a=1 and c=0
    END
    GO;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多