★o★大家来看看/ 存储过程 /的问题★CREATE PROCEDURE proName
(
@ShowNum int,
@SortID int
)AS DECLARE @SQL VARCHAR(100)
DECLARE @NUM INT
SET @NUM = @ShowNum
SET @SQL = 'SELECT TOP '+CAST(@NUM AS VARCHAR(20))+' * From News where SortID =@SortID or SortID IN (Select ID from NewsSort where ParentID = @SortID) order by ID desc'EXEC(@SQL)
GO-------------
VS.net 2005 中使用 SqlDataSource绑定时报错信息:执行查询时出错。请检查命令的语法以及参数的类型和值(如果有)。确保他们正确。
必须声明变量 '@SortID'。
第1行:'ParentID'附近有语法错误。高手指点
---------------------
把后面where条件去掉时,这个存储过程是可以使用的。
解决方案 »
- 有5行数据,倒序输出第3,4行数据,通常倒序是指输出的名字倒序,还是编号倒序?我下面的写法哪一个是正确的?
- 思考一天毫无结果!!!!!求高人赐教
- 请各位高手批批我修改的SqlServer2005的分页存储过程,有没漏洞?
- 求助C#连接SQL Server字符串
- 关于触发器,我想从a表中先得到这个字段内容是否依存在,然后再触发,怎么做
- 请问这段SQL要怎么写,谢谢。
- ^_^函数编写问题,请教!^_^
- 从机器A注册B中的SqlServer服务器,Failed!Reason: Not associated with a trusted SQL Server
- SQL查询问题,大家帮忙拉
- 數據表問題...請各位同志幫忙
- 急啊!调用存储过程的参数问题!!
- 动态执行SQL,这个Image字段应该怎么处理?大人救命!
CREATE PROCEDURE proName
(
@ShowNum int,
@SortID int
)AS DECLARE @SQL VARCHAR(100)
DECLARE @NUM INT
SET @NUM = @ShowNum
SET @SQL = 'SELECT TOP '+CAST(@NUM AS VARCHAR(20))+' * From News where SortID ='+@SortID+' or SortID IN (Select ID from NewsSort where ParentID ='+ @SortID+') order by ID desc'EXEC(@SQL)
GO
CREATE PROCEDURE proName
(
@ShowNum int,
@SortID int
)AS DECLARE @SQL VARCHAR(100)
DECLARE @NUM INT
SET @NUM = @ShowNum
SET @SQL = 'SELECT TOP '+rtrim(@NUM)+' * From News where SortID ='+@SortID+' or SortID IN (Select ID from NewsSort where ParentID ='+ @SortID+') order by ID desc'EXEC(@SQL)
GO
(
@ShowNum int,
@SortID int
)AS DECLARE @SQL NVARCHAR(4000)
DECLARE @NUM INT
SET @NUM = @ShowNum
SET @SQL = 'SELECT TOP '+CAST(@NUM AS VARCHAR(20))+' * From News where SortID =@SortID or SortID IN (Select ID from NewsSort where ParentID = @SortID) order by ID desc'EXEC sp_execute @SQL,N'@SortID int',@SortID
GO
(
@ShowNum int,
@SortID int
)AS DECLARE @SQL VARCHAR(100)
DECLARE @NUM INT
SET @NUM = @ShowNum
SET @SQL = 'SELECT TOP '+CAST(@NUM AS VARCHAR(20))+' * From News where SortID ='+CAST(@SortID AS VARCHAR(20))+' or SortID IN (Select ID from NewsSort where ParentID = '+CAST(@SortID AS VARCHAR(20))+') order by ID desc'EXEC(@SQL)
GO
感谢楼上各位正解 和rtrim 、ltrim的思路有下面几为仁兄chuifengde(树上的鸟儿) leo_lesley(leo) ( ) paoluo(一天到晚游泳的鱼)
不过问题不在这里,测试时开始出错后来将
DECLARE @SQL VARCHAR(100) 改成
DECLARE @SQL VARCHAR(1000)就可以了 -------------------------------再把问扩展一下 向大家请教以此存储过程为例如何在slq语句中 控制 字段(Title)中 显示字符的长度select Title from news
如何在slq语句中 控制 字段(Title)中 显示字符的长度select Title from news -------------
能不能說的詳細些。
包括
CREATE PROCEDURE proName
(
@ShowNum int,
@SortID int
)AS
DECLARE @NUM INT
SET @NUM = @ShowNum和CREATE PROCEDURE proName
(
@Num int,
)
AS...
这2个的区别我还没搞清楚呢有高手知道 哪里有存储过程 好教程的 麻烦告诉一下我去补习补习
需要在构照sql语句的时候实现这个效果。请高手指点。--------------------另:多谢大家提示:联机帮助是个好东西
作成变量呢 用存储过程写 高手演示看看
---------------
樓主描述問題的時候總是惜墨如金,最好能清晰的說明你的要求。就說個存儲過程, 輸入參數是怎樣,輸出參數是怎樣,功能也沒有太多的描述。看看這個是不是你要的。另外,還是那句話,這個東西最好放在前台去控制實現。
--建立存儲過程
Create ProceDure SP_TEST(@新闻 Varchar(100), @New新闻 Varchar(20) Output)
As
Select @New新闻 = Left(@新闻, 20)
GO
--調用
Declare @新闻 Varchar(100), @New新闻 Varchar(20)
EXEC SP_TEST 'dasdsadsaaadsadsa', @New新闻 Output
Select @New新闻