Friday, March 9, 2012

incomprshensible code

Hello

My friend gave me stored procedure, and I understand this code:

create table t (x varchar(50), y int)
insert into t (x)
select 'bob' + char(1) + 'fred'
select * from t

Please explain me and corect this code.

AndrzejOn Wed, 14 Nov 2007 11:05:00 -0800, J?dru? <anowacki.pila@.interia.pl>
wrote:

Quote:

Originally Posted by

>Hello
>
>My friend gave me stored procedure, and I understand this code:
>
>create table t (x varchar(50), y int)


Create an empty table. The table has two columns, one varying length
and one integer.

Quote:

Originally Posted by

>insert into t (x)


We are going to INSERT new rows(s) into the table, but only assign
data to the column named x.

Quote:

Originally Posted by

>select 'bob' + char(1) + 'fred'


The source of data for the INSERT is the result set of a SELECT. The
SELECT does not read any table, it just returns one row. The one
column in the result set is a character string made up by
concatenating (using the + operator) three other strings. The string
in the middle is created using the CHAR function. The CHAR function
converts a number ranging from 0 to 255 into an ASCII character. The
ASCII character that corresponds to 1 is not a printable character;
for me the results look like an empty square.

Quote:

Originally Posted by

>select * from t


This returns the one row of the table.
x y
---------------- ----
bob
fred NULL

Quote:

Originally Posted by

>Please explain me and corect this code.


The code is correct, though it looks like a simple example of
something rather than anything of actual use.

Roy Harvey
Beacon Falls, CT|||On 14 Lis, 21:03, "Roy Harvey (SQL Server MVP)" <roy_har...@.snet.net>
wrote:

Quote:

Originally Posted by

On Wed, 14 Nov 2007 11:05:00 -0800, J?dru? <anowacki.p...@.interia.pl>
wrote:
>

Quote:

Originally Posted by

Hello


>

Quote:

Originally Posted by

My friend gave me stored procedure, and I understand this code:


>

Quote:

Originally Posted by

create table t (x varchar(50), y int)


>
Create an empty table. The table has two columns, one varying length
and one integer.
>

Quote:

Originally Posted by

insert into t (x)


>
We are going to INSERT new rows(s) into the table, but only assign
data to the column named x.
>

Quote:

Originally Posted by

select 'bob' + char(1) + 'fred'


>
The source of data for the INSERT is the result set of a SELECT. The
SELECT does not read any table, it just returns one row. The one
column in the result set is a character string made up by
concatenating (using the + operator) three other strings. The string
in the middle is created using the CHAR function. The CHAR function
converts a number ranging from 0 to 255 into an ASCII character. The
ASCII character that corresponds to 1 is not a printable character;
for me the results look like an empty square.
>

Quote:

Originally Posted by

select * from t


>
This returns the one row of the table.
x y
---------------- ----
bob
fred NULL
>

Quote:

Originally Posted by

Please explain me and corect this code.


>
The code is correct, though it looks like a simple example of
something rather than anything of actual use.
>
Roy Harvey
Beacon Falls, CT


Thank You very much.

No comments:

Post a Comment