CREATE PROCEDURE sp_test @a char(10) AS
select * into @a from bjd
select * from @a
GO
這個存儲過程無法通過,
我想在程序中把臨時表名以一個變量的形式傳入進去,
應該怎麼做。
select * into @a from bjd
select * from @a
GO
這個存儲過程無法通過,
我想在程序中把臨時表名以一個變量的形式傳入進去,
應該怎麼做。
解决方案 »
- 获取打印机打印的数据
- 关于TREEVIEW的问题
- Access用SQL语句,出现charindex不能用
- while...do...里怎样在程序中间终止并继续循环?
- 线程使用中的问题、经验大讨论,up有分!
- 如何摒蔽一些Windows功能键?
- 保存数据时出现错误提示:无法为更新定位行,一些值可能已经在最后一次读取后更改。
- 怎样在dbgrid中得到当前的记录号?当用户点击每一行时提示用户是第几条记录(paradox)
- △△△△△△HTML 帮助文件在Delphi中的调用问题???△△△△△△
- 请教各位:如何获得TOleContainer中的对象的大小(指的是存贮的大小,而不是长和宽)?
- 风声、雨声、读书声,声声入耳。
- 急! 为什么Delphi7.0中IdPOP3和IdSMTP的属性和事件那么少? 求教用法,有例子最好!!
1。報tabel附近的語法有錯誤
2。就算通過了,那我在delphi當中應該如果定義它的變量,也就是如何傳入它的值,
(字符串變量行嗎)。
exec('select * into '+ @a+' from bjd')
exec('select * from '+ @a)
GO
這就是說表名是動態改變的。
所以就想把表名以一下變量的形勢傳送給存儲過程。
yzf111(ying) 老兄的方法還是不行,存儲過程說無效的表名稱。
一个“#”开头的是局部临时表,楼主根本不需要为这种临时表设置不同的名字,正如我们写函数或过程时不需要为不同的使用者而设定不同的变量名。干脆直接这样:
CREATE PROCEDURE sp_test AS
select * into #tmp from bjd
select * from #tmp
GO
結了吧。
CREATE PROCEDURE sp_test AS
exec('select * from (select top 1 * from aa) derivedtbl')
GO
也就是把你上面的两名合成一句