在sql查询分析器里面:
declare @Y varchar(50)
declare @M varchar(50)
declare @D varchar(50)
declare @hao varchar(50)
declare @UserID varchar(50)
declare @PPCardName varchar(50)
set @Y=year(getdate())
set @M=month(getdate())
set @D=day(getdate())
set @UserID='12'
set @hao='PP'+@Y+@M+@D+'0000'+@UserID
--print
select top 1 @PPCardName=CardName from PP_Card where CardSend=1
insert into PP_Account(UserID,AccountNumber,@PPCardName) values(@UserID,@hao,1)
提示我insert into PP_Account(UserID,AccountNumber,@PPCardName) values(@UserID,@hao,1) 这一句的@PPCardName错误,为什么,需要如何修改,难道字段里面不能用变量吗
sql语句(字段里面不能用变量吗)
sql语句不能直接使用变量。存储过程中可以使用变量,调用存储过程时传递变量,由数据库将变量替换为实际值并执行得到结果。
SQL字符加变量怎么表达?
字段不能用变量来代替,可以使用动态语句来实现你说的功能。declare @sqlstr varchar(8000)declare @i int set @i=1 while @i<=31 begin set @sqlstr='update 表 set d'+cast(@i as varchar(10))+'=值'exec (@sqlstr)--执行的时候比如@i=1则实际执行的是 update 表 set d1=值 set...
mysql 定义变量
在PHP、C++等语言里面可以使用变量,在存储过程里面可以使用变量,SQL语句里面不能使用变量的。不过你的要求可以用下面的一个SQL语句实现:insert into YYY表(字段1,字段2,字段3) SELECT 字段1,表达式2,常量3 FROM XXX表 注意:上面是两个表,一般不允许同时对一个表进行操作,如果是一个表,你可以...
因为SQL语句是不支持变量的,你只能用字符串相加的方法,
SQL="select * from table where name="+SQLX+" order by ID desc" ;
求教sql server 可以把列名当做变量吗?
不可以,列名、表名都不能用变量,可以通过拼接字符,然后用exec来执行 如,exec('update tb set '+列名变量+'='''+字符类的变量值+''' where 条件')
sql语句使用变量的前提是什么?
是变量的头符号,所有变量,必须使用@打头,用来区分是变量还是系统关键字,表名,列名等。int 是数据类型,需要使用哪种,就定义哪种,比如定义为 varchar(20)set 是赋值语句,给变量@Id赋值,赋值之后,变量就可以使用了 select 语句中,就使用了变量,在where条件语句中,限定了id=变量,也就是id=...
sql server 字段类型长度里面能否填写变量 比如
做一个动态的SQL语句就行了 declare @l int set @l=(select max(len(empno)) from empinfo)select @l DECLARE @DynamicSQL NVARCHAR(1000)SET @DynamicSQL = 'alter table empinfo alter column empno char(' + CONVERT(NVARCHAR(10), @l) + ')'EXEC @DynamicSQL ...
SQL如何使用在函数中使用变量作为表名执行查询?
是不能这样写的,用动态语句的话,function好像又不支持,改用存储过程吧,如下 CREATE PROCEDURE PROC_SetBatchID table AS NVARCHAR(100),BatchID VARCHAR(11) OUTPUT AS BEGIN DECLARE @sql NVARCHAR(4000)SET NOCOUNT ON;SELECT @sql = N'IF (select Count(*) from ' + RTRIM(LTRIM(@table)...
sql中的变量定义
你的用法有错误,变量不能这样使用的,as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,其作用主要是为了增加可读性。示例:为列取别名的两种写法 1、字段名 as 别名 注:as 也可以省略 select id as 编号,name as 姓名 from table1 这句也可...
SQL select 语句中where字句后面[列名]=某字符串,这个字符串能不能...
用在存储过程中是可以的,而且外面传数时在外面是变量,只要连接数据库后不是变量就可以了,如果有好多值,而且值不确定可以考虑子查询。