社区
MS-SQL Server
帖子详情
字符串赋值问题,急急!!!!!!!!
zhuliangjun0
2003-09-04 02:14:31
各位大侠,请问怎样把一个文件中的内容赋给SQLServer中的一个字符串变量,请指点小弟一把,
...全文
46
7
打赏
收藏
字符串赋值问题,急急!!!!!!!!
各位大侠,请问怎样把一个文件中的内容赋给SQLServer中的一个字符串变量,请指点小弟一把,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happydreamer
2003-09-04
打赏
举报
回复
你是不是想把一个文本文件的内容赋给sql变量啊
那这样,先把文件导入临时表过渡
用BULK INSERT 库名.dbo.表名
FROM 'f:\1.txt'
WITH
(
FIELDTERMINATOR = ' ',
ROWTERMINATOR = '\n'
)
或者
EXEC master..xp_cmdshell 'bcp test.dbo.P_Aspect in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
//导入
然后
select @变量=字段名 from 表名 where ...
happydreamer
2003-09-04
打赏
举报
回复
注意 updatetxt有个问题 只能对最后一行更新
比如
create table a ( id int, a text)
insert a select 1,'erere'
insert a select 2,'93e'
要在字符的尾部加上 d 变成 erered,93e
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(a) FROM a
updateTEXT a.a @ptrval null null 'r'
select * from a
1 erere
2 93er
happydreamer
2003-09-04
打赏
举报
回复
注意 updatetxt有个问题 只能对最后一行更新
比如
create table a ( id int, a text)
insert a select 1,'erere'
insert a select 2,'93e'
要在字符的尾部加上 d 变成 erered,93e
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(a) FROM a
updateTEXT a.a @ptrval null null 'r'
select * from a
1 erere
2 93er
txlicenhe
2003-09-04
打赏
举报
回复
用Text类型:
READTEXT
UPDATETEXT
WRITETEXT
--------------------
Transact-SQL 参考
READTEXT
读取 text、ntext 或 image 列中的 text、ntext 或 image 值,从指定的偏移量开始读取指定的字节数。
语法
READTEXT { table.column text_ptr offset size } [ HOLDLOCK ]
参数
table.column
是从中读取的表和列的名称。表名和列名必须符合标识符的规则。必须指定表名和列名,不过可以选择是否指定数据库名称和所有者名称。
text_ptr
有效文本指针。text_ptr 必须是 binary(16)。
offset
开始读取 text、image 或 ntext 数据之前跳过的字节数(使用 text 或 image 数据类型时)或字符数(使用 ntext 数据类型时)。使用 ntext 数据类型时,offset 是在开始读取数据前跳过的字符数。使用 text 或 image 数据类型时,offset 是在开始读取数据前跳过的字节数。
size
是要读取数据的字节数(使用 text 或 image 数据类型时)或字符数(使用 ntext 数据类型时)。如果 size 是 0,则表示读取了 4 KB 字节的数据。
HOLDLOCK
使文本值一直锁定到事务结束。其他用户可以读取该值,但是不能对其进行修改。
注释
使用 TEXTPTR 函数获得有效的 text_ptr 值。如果返回不止一行,TEXTPTR 将返回指向指定行中的 text、ntext 或 image 列的指针,或返回指向查询所返回的最后一行中的 text、ntext 或 image 列的指针。由于 TEXTPTR 返回 16 字节的二进制字符串,所以最好声明一个控制文本指针的局部变量,然后在 READTEXT 中使用该变量。有关声明局部变量的更多信息,请参见 DECLARE @local_variable。
在 SQL Server 2000 中可能存在无效的文本指针。有关 text in row 选项的更多信息,请参见 sp_tableoption。有关如何使文本指针无效的更多信息,请参见 sp_invalidate_textptr。
如果 @@TEXTSIZE 函数的值小于为 READTEXT 指定的大小,它将替代为 READTEXT 指定的大小。@@TEXTSIZE 函数是对由 SET TEXTSIZE 语句设置的返回数据字节数的限制。有关如何设置 TEXTSIZE 会话设置的更多信息,请参见 SET TEXTSIZE。
权限
READTEXT 权限默认授予对指定的表具有 SELECT 权限的用户。这些权限可在传递 SELECT 权限时传递。
示例
下例读取 pub_info 表中 pr_info 列的第 2 个至第 26 个字符。
USE pubs
GO
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'
READTEXT pub_info.pr_info @ptrval 1 25
GO
请参见
@@TEXTSIZE
UPDATETEXT
WRITETEXT
©1988-2000 Microsoft Corporation。保留所有权利。
pengdali
2003-09-04
打赏
举报
回复
create table aaa(a int,b text)
go
CREATE PROCEDURE sp_textcopy
@srvname varchar (30),
@login varchar (30),
@password varchar (30),
@dbname varchar (30),
@tbname varchar (30),
@colname varchar (30),
@filename varchar (30),
@whereclause varchar (40),
@direction char(1)
AS
/* 这是使用textcopy工具将文件插入到数据库中,如果有前台工具可以用前台开发工具将文件插入,这里为了演示 */
DECLARE @exec_str varchar (255)
SELECT @exec_str='textcopy /S '+@srvname+' /U '+@login+' /P '+@password+' /D '+@dbname+' /T'+@tbname+' /C '+@colname+' /W"'+@whereclause+'" /F"'+@filename+'" /'+@direction
EXEC master..xp_cmdshell @exec_str
go
insert aaa values(1,'') --''是必须的不是null
sp_textcopy 'daliserver','sa','element','test','aaa','b','c:\tt.txt','where a=1','I' --注意条件是 a=1
go
drop table aaa
go
drop proc sp_textcopy
前提c:\下有tt.txt文件,如果报textcopy不是可执行文件的话,你就到
C:\Program Files\Microsoft SQL Server\MSSQL\Binn
目录下拷备 textcopy.exe到:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
zhuliangjun0
2003-09-04
打赏
举报
回复
在SQLServer中,有没有一个命令可以把一个文件的内容读出来,赋给一个字符串变量,或者通过什么途径能达到这个效果,
dreamfly2008
2003-09-04
打赏
举报
回复
说得不是太详细啊。
求助贴!!!!!关于super关键字!!!
急急
急
在自定义类中MyException定义了有参构造方法为
字符串
s
赋值
,调用的是父类中的有参构造方法。输出结果中可以输出“水位过高” 之后我在MyException中定义了一个有参构造方法为
字符串
s
赋值
,结果输出语句捕捉...
[delphi教程]delphi开发教程全攻略(1)
[考题]这两种
字符串
赋值
语句有什么区别 TXmlDocument控件使用
问题
急急
急!!!网络数据通讯
问题
(多线程如何解决???) 关于保存一个Record类型到文件中的
问题
如何使窗体在用户按下显示桌面之后不会隐藏(不是将它...
Java常用类
8.通过字面量的方式(区别于new)给一个
字符串
赋值
,此时的
字符串
声明在
字符串
常量池中。3.String实现了Serializable接口:表示
字符串
是可以支持序列化的。9.
字符串
常量池中是不会存储相同的
字符串
的。
python兄弟连全套视频_请问全套的Python视频教程哪个好?求告知,
急急
急~~~!python兄弟连视频教程...
求告知,
急急
急~~~全套的Python视频教程哪个大清楚,自个用的这套感觉可以,讲的详细,也码,函的讲解,希望对你有用。点击下载链接: https://pan.baidu.com/s/1K9rvYWwYijt-BTCkw0XO8Q 提取码: 1midPython中的9个...
第二章 数据类型
\' 单引号('),在用单引号表示的
字符串
中使用。\" 双引号("),在用双引号表示的
字符串
中使用。*这个方法里面放的不是数字的时候,返回的是true(对),否则为false(错)数字和汉字字母混合的
字符串
,通过该方法可以...
MS-SQL Server
34,875
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章