如何用文本文件写存储过程以及触发器

来源:百度知道 编辑:UC知道 时间:2024/06/23 19:15:49
如何用文本文件写存储过程以及触发器
具个例子
sqlserver2000
create table [dbo].[position]
(
[allposition] [varchar](50) null
) ON [PRIMARY]
这是建立表
如何建立触发器和存储过程

我是在SQLServer中写好以后,生成SQL脚本的
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[proc_Login]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[proc_Login]

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS OFF

GO

CREATE proc proc_Login
(
@UserName varchar (20),
@userPwd varchar (20)
)
as
if exists(select * from tb_User where UserName=@UserName and UserPwd=@UserPwd)
return 100
else
return -100

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO
因为有好几个存储过程和触发器,执行时提示GO附近有语法错误,那是什么错误,到底该怎么写
use car create table [dbo].[tb_User](

没有错误,请注意 CREATE proc 要在脚本文件是GO行的后面或最前面。
请注意语句及空格处不要有全角字符及格式控制控制符。
GO
CREATE proc

============
1.使用WINDOWS自带的记事本编辑和存储。
2.如果有问题,请把出错那一行GO前后的空格删一删(包括上一行末尾的),偶尔会藏有一些非法字符。

===========
已经试过了,文本中GO的前后有非法字符,将GO前后的非法字符空格删一下就可以了

user 数据库名?

我检查一下后告诉你

没有问题,我检查过了,你用txt时候如何调用出问题的?

把选择txt保存的时候保存成ascii的格式再试一下

把 Go 去掉

GO 不是 Transact-SQL 语句;它是 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令。

就是说,GO不可以被传递到服务器上去执行。
你必须把脚本中的GO都删除掉,然后才可以运行。

你这是好几个代码段组合在一起了,应该在运行以前,按照GO的位置,把这些代码段分开运行,每个GO对应一个代码段,分开以后,把GO去掉就可以了。

1.把这些代码段分开运行,每个GO语句对应一个代码段
2.去掉GO