sqlserver 必须声明标量变量 "@id" 什么原因,如何解决 存储过程 带参数

sqlserver

必须声明标量变量 "@id"。

原因

set @sql = ‘insert into stu(id,name) select top @id from stus‘  // 错误

解决办法

set @sql = ‘insert into stu(id,name) select top ‘+CONVERT(char(3),@id) +‘from stus‘  //正确

时间: 2024-10-21 09:18:32

sqlserver 必须声明标量变量 "@id" 什么原因,如何解决 存储过程 带参数的相关文章

### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@[email protected]"。(sql少一个逗号)【??】

(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,[??],?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@[email protected]".### The erro

Sqlserver 实际开发中表变量的用法

在实际的开发中,我们可能遇到的问题是,在一个存储过程里面,我们可能要返回多段sql的结果集,但是最终怎么把多个结果集合成一块呢,那么这个时候临时表变量就来了 declare  @tmp table   --声明表变量(id int identity(1,1),    --字段 必须和插入表变量里的数量一一对应Name varchar(60),[Description] varchar(60),Category varchar(60))insert @tmp     select Book.Nam

必须声明表变量 "@P0"

mybatis提示错误 ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明表变量 "@P0". ; uncategorized SQLException for SQL []; SQL state [S0001]; error code [1087]; 必须声明表变量 "@P0".; nested exception is com.microsoft.sqlserver.jdbc.SQLS

从头认识多线程-3.2 使用volatile声明的变量的写操作是非原子性的

这一章节我们来讨论一下使用volatile声明的变量的各种操作是非原子性的. 1.上一章节我们已经提到,volatile把工作内存里面变量的改变同步到主内存, 使得各个线程能够把该变量当成是整体的状态控制 2.但是,使用volatile声明的变量的写操作是非原子性的 代码清单: package com.ray.deepintothread.ch03.topic_2; public class VolatileTest extends Thread { private volatile int i

JavaScript 函数声明和变量声明

声明语句:声明语句是用来声明或定义标识符(变量和函数名)并给其赋值. 1:var 变量声明(5.3.1节): var语句用来声明一个或多个变量:var name_1 = [= value_1] [ ,..., name_n [= value_n]] var i; var j = 0; var x=1, y=2; var pi = 3.14, f = function(x) {return x*x}, k = f(x); 2:遗漏声明(3.9节) 读取一个没有声明的变量的值:JavaScript会

SqlServer中用@@IDENTITY取最新ID不准的问题

最近遇到了一个SqlServer中用@@IDENTITY取最新ID不准的问题,经过在网上的一番查找,找到了如下资料,略作记录:"一个网友问我一个关于@@IDENTITY的问题.他的数据库中有一个存储过程,有 insert语句,然后马上就用SELECT @@IDENTITY取刚插入的ID值,通常这是没有问题的,但是问题是ID实际上已经达到了100多万了,而 SELECT @@IDENTITY  返回的只有很小的值(才30多),令人费解. 我开始也不太明白,问他先别管@@IDENTITY,新插入记录

javascript中的函数式声明与变量式声明

观察下面两段代码,试写出hello('word');的运行结果: // 变量式声明 function hello(msg){ alert(msg); var msg = function(){}; alert(msg); } //函数式声明 function hello(msg){ alert(msg); function msg (){}; alert(msg); } 对于变量式声明,首先弹出word,然后弹出function,而函数式声明,则两次都是弹出function.这是为什么呢? 一:

javascript中函数声明、变量声明以及变量赋值之间的关系与影响

函数声明.变量声明以及变量赋值之间有以下几点共识: 1.所有的全局变量都是window的属性 2.函数声明被提升到范围作用域的顶端 3.变量声明被提升到范围作用域的顶端 4.变量声明比函数声明的优先级高,变量声明优先于函数声明被提升,如果两者同名同时存在,后被提升的函数声明会覆盖先被提升的变量声明 5.变量赋值不会被提升,到执行行代码才开始赋值 补充: 6.调用javascript函数的整个过程可以分为预编译期(也叫声明期)和赋值期(也叫计算执行期). 预编译期完成对所有变量(包括形参.函数内部

实习第一天:static 声明的 变量和 方法

static 声明的 变量和 方法   既可以用类.变量或者类.方法来调用 order by表格:Store_Information表格 Name Sacles DAteAngeles 1500 1999Diego 250 1990Fransisco 300 1998 按照Sales栏位的有大到小列出Store_Information表格的内容SELECT Name,Sacles,DAteFROM Store_InformationORDER BY Sales DESC; //BY对于的是Sac