scalar-SQL @list临时变量 ,报错信息必须定义变量

问题描述

SQL @list临时变量 ,报错信息必须定义变量

declare @list table
(
Id int,
Name navarchar(12)
)

insert into @list
select * from tableA

select * from @list --到这步都是OK的,能得到@list中的数据

--下面我想把@list与tableB表联接起来做查询
select * from @list,tableB
where @list.id = tableB.id

结果报错了,提示上面where语句中的@list有问题:Must declare the scalar variable "@list".

这是为什么呢?我不是已经都定义了吗?

解决方案

@list 加个别名就可以了,我试过可以了

declare @list table
(
Id int,
Name navarchar(12)
)
insert into @list
select * from tableA
select * from @list --到这步都是OK的,能得到@list中的数据
--下面我想把@list与tableB表联接起来做查询
select * from @list A,tableB
where A.id = tableB.id

解决方案二:

你的是什么 数据库?

解决方案三:

@list是临时表变量,不是临时表,是放在内存中的。所以这么无法直接和物理表联表
改成

 select * from (select * from @list) a,tableB
where a.id = tableB.id

解决方案四:

@list 加个别名就可以了,我试过可以了

declare @list table
(
Id int,
Name navarchar(12)
)
insert into @list
select * from tableA
select * from @list --到这步都是OK的,能得到@list中的数据
--下面我想把@list与tableB表联接起来做查询
select * from @list A,tableB
where A.id = tableB.id

时间: 2025-01-21 07:53:53

scalar-SQL @list临时变量 ,报错信息必须定义变量的相关文章

VB.NET读取SQL文件并执行 报错

问题描述 想写下VB.NET读取sql的文本文本,读取之后并在数据库中执行,但报以下错误,用SQL追踪器追踪SQL脚本复到SQL查询分析器里面又不会报错,不知什么原因,那位大侠能帮帮忙,DimdrAsSqlDataReaderconnclass.cn.Open()comm.Connection=connclass.cncomm.CommandText=IO.File.ReadAllText(Application.StartupPath+"sql.sql")comm.ExecuteRe

oracle 11.2.0.1告警日志报错ORA-03137与绑定变量窥探BUG9703463

2017年12月份第二次oracle数据库巡检中,发现某一地市oracle数据库发现SQL语句触发特定版本BUG,详细信息如下: 操作系统版本:windows server 2008R2数据库版本:oracle 11.2.0.1问题描述:2017年12月份第二次巡检中,发现告警日志报错,报错信息如下:19/12/2017 08:27:35 Tue Dec 19 08:27:35 2017 ORA-03137: TTC 协议内部错误: [12333] [6] [50] [48] [] [] []

mysql-java中的sql语句为何会报错,而到了workbench就可以执行

问题描述 java中的sql语句为何会报错,而到了workbench就可以执行 rt基本上是timestamp的格式,比如insert into table values ('2015-03-17 00:00:00');这句话在java通过jdbc执行就会报错,而直接在workbench下面操作就没有问题为什么会这样? 解决方案 可能是字符串单引号等引起的,打印代码中的字符串跟workbench中比较 解决方案二: insert into table(字段1,字段2....) value( 值1

sql server 数据库操作报错“日志不可用”

问题描述 sql server 数据库操作报错"日志不可用" 在操作数据库时查询信息操作没有问题,但增删改操作时就会报下面的错误请问是什么原因: 消息 9001,级别 21,状态 1,第 2 行 数据库 'hrtest1' 的日志不可用.有关相应错误消息,请查看事件日志.修复所有错误后重新启动数据库. 解决方案 SQL Server 数据库操作关于SQL Server数据库日志已满的解决方法SQL Server 数据库操作总结(sql语法的使用) 解决方案二: recovery下数据库

listview-VB+SQL的ListView1不报错,不显示数据

问题描述 VB+SQL的ListView1不报错,不显示数据 Private Sub ChooseCourse_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim sel1 As String = "select C#,CNAME,CLASSH from C " sel1 = sel1 & "where C# in(select C# from

postgresql-ssh不能存入数据库,报错信息如下

问题描述 ssh不能存入数据库,报错信息如下 这是控制台信息,sql语句已经生成,但是不能存入数据 INFO: Building new Hibernate SessionFactory Hibernate: insert into customer (customer_name, customer_sex, customer_age, customer_type, customer_enterprise_name, customer_card_id, customer_phone, custo

java-编写易宝支付报错,报错信息看不懂,求大神

问题描述 编写易宝支付报错,报错信息看不懂,求大神 com.yeepay.merchant.InvalidParamException: invalid param, name[hmac] value[54ae8ae84065be5c1fb90bbd3e4e71cc] 这是报错的信息,根据网上一个易宝文档写的,运行后就这样了.求大神!! 解决方案 按照错误提示来说是,merchant的无效参数导致的. name[hmac] value[54ae8ae84065be5c1fb90bbd3e4e71

限制上传文件大小-Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错

问题描述 Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错 1.web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/X

c#-C# Winfrom项目,运行程序一段时间后提示“内在不足”的报错信息。

问题描述 C# Winfrom项目,运行程序一段时间后提示"内在不足"的报错信息. 在C# Winfrom项目,有一个form窗体,六个Panel控件(用于放置显示监控视频图像的用户自定义控件), 还有一个timer计时器控件(设置每隔2分钟调用其它六个监控视频图像放到对应的Panel控件) 目前遇到的问题是,监控点的视频图像有的由于网络好点显示加载视频图像快点,有的由于网络不是太好加载显示视频图像慢点. 在form窗体运行一段时间后,导致这个form窗体的六个Panel控件在轮流显示