㈠ sql语句(字段里面不能用变量吗)
sql语句不能直接使用变量。
存储过程中可以使用变量,调用存储过程时传递变量,由数据库将变量替换为实际值并执行得到结果。
㈡ 在SQL查询语句中,如果where字句和字段名都需要使用变量,如何操作
先拿文本拼出个串然后执行 貌似下列语句
exec ('select * from pc')
㈢ SQL 查询语句如何定义变量
as在SQL中是别名的用法,它可以为表名取别名,也可以为列名取别名,
其作用主要是为了增加可读性。
㈣ 如何在sql语句中使用变量作为数据库的字段名
使用动态SQL
DECLARE@sqlStrvarchar(max)
DECLARE@fieldNamevarchar(20)
SET@fieldName='ProctNumber'
SET@sqlStr='SELECT'+@fieldName+'FROMProction.Proct'
EXEC(@sqlStr)
㈤ 如何将sql server 中的字段名定义为变量
不可以,列名、表名都不能用变量,可以通过拼接字符,然后用exec来执行 如,exec('update tb set '+列名变量+'='''+字符类的变量值+''' where 条件')
㈥ FoxPro中的SQL语句字段名,可以用变量代替吗
当然可以了.具体怎么弄看实际情况, 有的直接将变量加到字符串中间, 有的用宏替换
㈦ 在SQL里,如何用变量代替字段名进行更新
举个最简单的例子,剩下的自己悟吧。
假设你的表名为Table:
declare @SQL_Text varchar(1000),@txt varchar(50)
set @txt = \'abc\'
set @SQL_Text = \'select * from Table where \'+abc+\'=0\'
exec(@SQL_Text)
以上是存储过程里的写法,在ASP里可以这样的:
ttt=\"abc\"
response.write(rs(ttt))
像你的这种情况,只要把
UPDATE XX
SET @NAME1=@ROWS2-@ROWS1
WHERE 时间=@T
改成:
exec('update XX set'+@name1+'='+@ROWS2+'-'+@ROWS1+' where 时间='+@t)
就可以了
㈧ Update表时字段名是变量,怎么写SQL语句
string ls_sql
string ls_data //假设要获取数据的列的类型为char,其他类型则定义相应的变量类型
ls_sql = "select " + ls_updatefield + " from " + ls_tablename + " where aac001 = " + string(bh_read)
declare lc dynamic cursor for sqlsa;
prepare sqlsa from :ls_sql using sqlca;
open dynamic lc;
if sqlca.sqlcode = -1 then
messagebox('', '出错了')
return
end if
fetch lc into :ls_data; //获取数据
if sqlca.sqlcode = -1 then
messagebox('', '出错了')
return
end if
close lc;